diff --git a/VECTO/GUI/GearboxForm.vb b/VECTO/GUI/GearboxForm.vb index 56bfa2cb99b6f6dd1fefb57e271b3d1f8ff3e7b1..dc586e93ced8aaf02a3325ff0c162a9139e4afbf 100644 --- a/VECTO/GUI/GearboxForm.vb +++ b/VECTO/GUI/GearboxForm.vb @@ -297,7 +297,7 @@ Public Class GearboxForm TbStartSpeed.Text = shiftParams.StartSpeed.ToGUIFormat() TbStartAcc.Text = shiftParams.StartAcceleration.ToGUIFormat() - Dim torqueConverter As ITorqueConverterEngineeringInputData = gearbox.TorqueConverter + Dim torqueConverter As ITorqueConverterEngineeringInputData = vehicle.Components.TorqueConverterInputData If torqueConverter Is Nothing OrElse gearbox.Type.ManualTransmission() Then TbTCfile.Text = "" TbTCrefrpm.Text = "" diff --git a/VECTO/GUI/MainForm.vb b/VECTO/GUI/MainForm.vb index 31a33ca2cdb013b10a54277513e7b824e97ba30e..0e69f888b7b8a3d6cf880e1ae8801b447e781934 100644 --- a/VECTO/GUI/MainForm.vb +++ b/VECTO/GUI/MainForm.vb @@ -973,9 +973,9 @@ Imports TUGraz.VectoCore.Utils Dim xmlInputReader as IXMLInputDataReader = kernel.Get(Of IXMLInputDataReader) Select Case rootNode Case XMLNames.VectoInputEngineering - input = xmlInputReader.CreateEngineering(jobFile, True) + input = xmlInputReader.CreateEngineering(jobFile) Case XMLNames.VectoInputDeclaration - input = xmlInputReader.CreateDeclaration(XmlReader.Create(jobFile), True) + input = xmlInputReader.CreateDeclaration(XmlReader.Create(jobFile)) End Select End Select @@ -2038,9 +2038,9 @@ Imports TUGraz.VectoCore.Utils Dim xmlInputReader as IXMLInputDataReader = kernel.Get(Of IXMLInputDataReader) Select Case rootNode Case XMLNames.VectoInputEngineering - input = xmlInputReader.CreateEngineering(f, True) + input = xmlInputReader.CreateEngineering(f) Case XMLNames.VectoInputDeclaration - input = xmlInputReader.CreateDeclaration(XmlReader.Create(f), True) + input = xmlInputReader.CreateDeclaration(XmlReader.Create(f)) End Select End Select diff --git a/VECTO/GUI/VectoVTPJobForm.vb b/VECTO/GUI/VectoVTPJobForm.vb index 13e2adb59216bb9a66c6d95892582d523765aac4..bf86a95cfd2b385355b8de17b8631335b97c5379 100644 --- a/VECTO/GUI/VectoVTPJobForm.vb +++ b/VECTO/GUI/VectoVTPJobForm.vb @@ -376,7 +376,7 @@ Public Class VectoVTPJobForm If File.Exists(vehicleFile) Then Try Dim inputData As IDeclarationInputDataProvider = - _xmlInputReader.CreateDeclaration(XmlReader.Create(vehicleFile), True) + _xmlInputReader.CreateDeclaration(XmlReader.Create(vehicleFile)) Dim auxInput As IAuxiliariesDeclarationInputData = inputData.JobInputData.Vehicle.Components.AuxiliaryInputData PopulateAuxiliaryList(auxInput) Catch @@ -559,7 +559,7 @@ Public Class VectoVTPJobForm If File.Exists(vehicleFile) Then Try Dim inputData As IDeclarationInputDataProvider = - _xmlInputReader.CreateDeclaration(XmlReader.Create(vehicleFile), True) + _xmlInputReader.CreateDeclaration(XmlReader.Create(vehicleFile)) gearbox = inputData.JobInputData.Vehicle.Components.GearboxInputData Catch End Try @@ -583,7 +583,7 @@ Public Class VectoVTPJobForm If File.Exists(vehicleFile) Then Try Dim inputData As IDeclarationInputDataProvider = - _xmlInputReader.CreateDeclaration(XmlReader.Create(vehicleFile), True) + _xmlInputReader.CreateDeclaration(XmlReader.Create(vehicleFile)) engine = inputData.JobInputData.Vehicle.Components.EngineInputData Catch Return @@ -662,7 +662,7 @@ Public Class VectoVTPJobForm If File.Exists(vehicleFile) Then Try Dim inputData As IDeclarationInputDataProvider = - _xmlInputReader.CreateDeclaration(XmlReader.Create(vehicleFile), True) + _xmlInputReader.CreateDeclaration(XmlReader.Create(vehicleFile)) vehicle = inputData.JobInputData.Vehicle Catch End Try diff --git a/VECTO/Input Files/Engine.vb b/VECTO/Input Files/Engine.vb index 35795ad13a40716b1306dbaacca36bbd25fecabe..cb6e099c09598dea8e8a448c2ffbbbd5bbdd7aa7 100644 --- a/VECTO/Input Files/Engine.vb +++ b/VECTO/Input Files/Engine.vb @@ -252,7 +252,7 @@ Public Class Engine engineData = doa.CreateEngineData(engine, Nothing, dummyGearboxData, New List(Of ITorqueLimitInputData), TankSystem.Compressed) Else Dim doa As EngineeringDataAdapter = New EngineeringDataAdapter() - engineData = doa.CreateEngineData(engine, Nothing, New List(Of ITorqueLimitInputData), TankSystem.Compressed) + engineData = doa.CreateEngineData(engine, Nothing, New List(Of ITorqueLimitInputData), Nothing, TankSystem.Compressed) End If Dim result As IList(Of ValidationResult) = diff --git a/VECTO/Input Files/Gearbox.vb b/VECTO/Input Files/Gearbox.vb index 91610b8b7a0e6f1f2f6cad558ed66bcf2f09c5f2..b8852a7370b972780fa58e5e03f6dc7b227cf506 100644 --- a/VECTO/Input Files/Gearbox.vb +++ b/VECTO/Input Files/Gearbox.vb @@ -123,7 +123,7 @@ Public Class Gearbox Try Dim writer As JSONFileWriter = JSONFileWriter.Instance - writer.SaveGearbox(Me, Me, Me, _filePath) + writer.SaveGearbox(Me, Me, Me, Me, _filePath) Catch ex As Exception MsgBox("failed to write Gearbox file: " + ex.Message) Return False @@ -223,17 +223,17 @@ Public Class Gearbox End Try axlegearData = doa.CreateAxleGearData(gearbox) - gearboxData = doa.CreateGearboxData(gearbox, engine, axlegearData.AxleGear.Ratio, rdyn, vehiclecategory) + gearboxData = doa.CreateGearboxData(gearbox, engine, axlegearData.AxleGear.Ratio, rdyn, vehiclecategory, gearbox) Else Dim doa As EngineeringDataAdapter = New EngineeringDataAdapter() Try - engine = doa.CreateEngineData(inputData.JobInputData.Vehicle.Components.EngineInputData, gearbox, New List(Of ITorqueLimitInputData), TankSystem.Compressed) + engine = doa.CreateEngineData(inputData.JobInputData.Vehicle.Components.EngineInputData, gearbox, New List(Of ITorqueLimitInputData), gearbox, TankSystem.Compressed) Catch engine = GetDefaultEngine(gearbox.Gears) End Try axlegearData = doa.CreateAxleGearData(gearbox) - gearboxData = doa.CreateGearboxData(gearbox, engine, gearbox, axlegearData.AxleGear.Ratio, rdyn, vehiclecategory) + gearboxData = doa.CreateGearboxData(gearbox, engine, gearbox, axlegearData.AxleGear.Ratio, rdyn, vehiclecategory, gearbox) End If Dim result As IList(Of ValidationResult) = @@ -376,13 +376,6 @@ Public Class Gearbox End Get End Property - Public ReadOnly Property IGearboxDeclarationInputData_TorqueConverter As ITorqueConverterDeclarationInputData _ - Implements IGearboxDeclarationInputData.TorqueConverter - Get - Return Me - End Get - End Property - Public ReadOnly Property ReferenceRPM As PerSecond Implements ITorqueConverterEngineeringInputData.ReferenceRPM Get Return TorqueConverterReferenceRpm.RPMtoRad() @@ -456,13 +449,6 @@ Public Class Gearbox End Get End Property - Public ReadOnly Property TorqueConverter As ITorqueConverterEngineeringInputData _ - Implements IGearboxEngineeringInputData.TorqueConverter - Get - Return Me - End Get - End Property - Public ReadOnly Property DownshiftAferUpshiftDelay As Second _ Implements IGearshiftEngineeringInputData.DownshiftAfterUpshiftDelay Get diff --git a/VECTO/Input Files/VectoEPTPJob.vb b/VECTO/Input Files/VectoEPTPJob.vb index 34aaaaede3c1ea9aa3041cbde488d7a4f0f34ad0..3086f2274ad1f0245febfdf7c05ed9fd0bfa82a1 100644 --- a/VECTO/Input Files/VectoEPTPJob.vb +++ b/VECTO/Input Files/VectoEPTPJob.vb @@ -122,7 +122,7 @@ Public Class VectoVTPJob Get If Not File.Exists(_vehicleFile.FullPath) Then Return Nothing 'Return New JSONComponentInputData(_vehicleFile.FullPath).JobInputData.Vehicle - Return _xmlInputReader.CreateDeclaration(_vehicleFile.FullPath, True).JobInputData.Vehicle + Return _xmlInputReader.CreateDeclaration(_vehicleFile.FullPath).JobInputData.Vehicle End Get End Property diff --git a/VECTO/OutputData/JSONFileWriter.vb b/VECTO/OutputData/JSONFileWriter.vb index 24c525a75c42a80981fed0f22310767df7c56d26..0212e6da074a7fe722ffd8e85c9f7e6545d8ee0e 100644 --- a/VECTO/OutputData/JSONFileWriter.vb +++ b/VECTO/OutputData/JSONFileWriter.vb @@ -74,7 +74,7 @@ Public Class JSONFileWriter Return header End Function - Public Sub SaveGearbox(gbx As IGearboxEngineeringInputData, axl As IAxleGearInputData, gshift As IGearshiftEngineeringInputData, filename As String) _ + Public Sub SaveGearbox(gbx As IGearboxEngineeringInputData, axl As IAxleGearInputData, torqueConverter As ITorqueConverterEngineeringInputData, gshift As IGearshiftEngineeringInputData, filename As String) _ Implements IOutputFileWriter.SaveGearbox 'Header @@ -124,7 +124,7 @@ Public Class JSONFileWriter body.Add(JsonKeys.Gearbox_StartAcceleration, gshift.StartAcceleration.Value()) body.Add(JsonKeys.Gearbox_GearboxType, gbx.Type.ToString()) - Dim torqueConverter As ITorqueConverterEngineeringInputData = gbx.TorqueConverter + Dim torqueConverterDict As New Dictionary(Of String, Object) torqueConverterDict.Add("Enabled", Not torqueConverter Is Nothing AndAlso gbx.Type.AutomaticTransmission()) If gbx.Type.AutomaticTransmission() AndAlso Not torqueConverter Is Nothing Then diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index fd072a3b0c5a0a5c87ed271a546f114a8dbf76f8..ac9c2e42eca64c3aaad5a68de8accfa88cdd8b66 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -344,11 +344,6 @@ namespace TUGraz.VectoCommon.InputData /// </summary> IList<ITransmissionInputData> Gears { get; } - /// <summary> - /// P090, P091, P092, P127 - /// cf. VECTO Input Parameters.xlsx - /// </summary> - ITorqueConverterDeclarationInputData TorqueConverter { get; } } diff --git a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs index 095ab46ebfd747ce4cd57c3fe38dc154972241a8..e9514cd693d0a4501854610121744317cfe9fdf2 100644 --- a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs +++ b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs @@ -195,8 +195,6 @@ namespace TUGraz.VectoCommon.InputData Second TractionInterruption { get; } Second PowershiftShiftTime { get; } - - new ITorqueConverterEngineeringInputData TorqueConverter { get; } } public interface IGearshiftEngineeringInputData : ITorqueConverterEngineeringShiftParameterInputData, IDriverModelData diff --git a/VectoCommon/VectoCommon/Models/AxleConfiguration.cs b/VectoCommon/VectoCommon/Models/AxleConfiguration.cs index 7e76223807794c9d37d921e1a320e969ff8236e2..5994a42c8eacc3ea957d4969b1d063293ff4f6dc 100644 --- a/VectoCommon/VectoCommon/Models/AxleConfiguration.cs +++ b/VectoCommon/VectoCommon/Models/AxleConfiguration.cs @@ -47,6 +47,7 @@ namespace TUGraz.VectoCommon.Models AxleConfig_8x4, AxleConfig_8x6, AxleConfig_8x8, + AxleConfig_Undefined, } public enum AxleType diff --git a/VectoCommon/VectoCommon/OutputData/IOutputFileWriter.cs b/VectoCommon/VectoCommon/OutputData/IOutputFileWriter.cs index 8f3fd1c3d9b3ac45bdd918431a44714f48478519..9179d82e72b621ea0b37e4c526397b4270ce8ce1 100644 --- a/VectoCommon/VectoCommon/OutputData/IOutputFileWriter.cs +++ b/VectoCommon/VectoCommon/OutputData/IOutputFileWriter.cs @@ -37,7 +37,7 @@ namespace TUGraz.VectoCommon.OutputData { void SaveEngine(IEngineEngineeringInputData eng, string filename); - void SaveGearbox(IGearboxEngineeringInputData gbx, IAxleGearInputData axl, IGearshiftEngineeringInputData gshift, string filename); + void SaveGearbox(IGearboxEngineeringInputData gbx, IAxleGearInputData axl, ITorqueConverterEngineeringInputData torqueConverter, IGearshiftEngineeringInputData gshift, string filename); void SaveVehicle(IVehicleEngineeringInputData vehicle, IAirdragEngineeringInputData airdrag, IRetarderInputData retarder, diff --git a/VectoConsole/Program.cs b/VectoConsole/Program.cs index 3cd48720a209c06a409c34f1e9c7a81efa7a4d26..e89bf707990d2c899056e580def6465be81b9959 100644 --- a/VectoConsole/Program.cs +++ b/VectoConsole/Program.cs @@ -214,10 +214,10 @@ Examples: var rootNode = xDocument == null ? "" : xDocument.Root.Name.LocalName; switch (rootNode) { case "VectoInputEngineering": - dataProvider = inputReader.CreateEngineering(file, true); + dataProvider = inputReader.CreateEngineering(file); break; case "VectoInputDeclaration": - dataProvider = inputReader.CreateDeclaration(XmlReader.Create(file), true); + dataProvider = inputReader.CreateDeclaration(XmlReader.Create(file)); break; } break; diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs index 23eaaab748ab44ce799c405d579b658fc8c2abbd..e2e4e9563f4faecfecbd5d7fbc7b4bfd4d186a49 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs @@ -45,11 +45,12 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.JSON { public class JSONComponentInputData : IEngineeringInputDataProvider, IDeclarationInputDataProvider, - IEngineeringJobInputData, IVehicleEngineeringInputData, IAdvancedDriverAssistantSystemDeclarationInputData, IAdvancedDriverAssistantSystemsEngineering, IVehicleComponentsDeclaration, IVehicleComponentsEngineering + IEngineeringJobInputData, IVehicleEngineeringInputData, IAdvancedDriverAssistantSystemDeclarationInputData, + IAdvancedDriverAssistantSystemsEngineering, IVehicleComponentsDeclaration, IVehicleComponentsEngineering { protected IGearboxEngineeringInputData Gearbox; protected IAxleGearInputData AxleGear; - protected ITorqueConverterEngineeringInputData TorqueConverter; + protected ITorqueConverterEngineeringInputData TorqueConverterData; protected IAngledriveInputData Angledrive; protected IEngineEngineeringInputData Engine; protected IVehicleEngineeringInputData VehicleData; @@ -76,6 +77,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON tmp = JSONInputDataFactory.ReadGearbox(filename, tolerateMissing); break; } + tmp.Switch() .If<IVehicleEngineeringInputData>(c => VehicleData = c) .If<IAirdragEngineeringInputData>(c => AirdragData = c) @@ -83,11 +85,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON .If<IGearboxEngineeringInputData>(c => Gearbox = c) .If<IAxleGearInputData>(c => AxleGear = c) .If<IRetarderInputData>(c => Retarder = c) - .If<ITorqueConverterEngineeringInputData>(c => TorqueConverter = c) + .If<ITorqueConverterEngineeringInputData>(c => TorqueConverterData = c) .If<IAngledriveInputData>(c => Angledrive = c) .If<IPTOTransmissionInputData>(c => PTOTransmission = c) .If<IAxlesDeclarationInputData>(c => _axleWheelsDecl = c) - .If<IAxlesEngineeringInputData>(c => _axleWheelsEng = c); ; + .If<IAxlesEngineeringInputData>(c => _axleWheelsEng = c); + ; _filename = filename; } @@ -153,9 +156,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON get { return ""; } } - public string Identifier { get { return Vehicle.Identifier; } } + public string Identifier + { + get { return Vehicle.Identifier; } + } - public bool ExemptedVehicle { get { return false; } } + public bool ExemptedVehicle + { + get { return false; } + } public string VIN { @@ -227,9 +236,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON get { return Gearbox; } } + public ITorqueConverterDeclarationInputData TorqueConverter + { + get { return TorqueConverterData; } + } + public ITorqueConverterEngineeringInputData TorqueConverterInputData { - get { return TorqueConverter; } + get { return TorqueConverterData; } } IAxleGearInputData IVehicleComponentsDeclaration.AxleGearInputData @@ -318,15 +332,50 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON get { return PTOTransmission; } } - public bool VocationalVehicle { get { return DeclarationData.Vehicle.VocationalVehicleDefault; } } - public bool SleeperCab { get { return DeclarationData.Vehicle.SleeperCabDefault; } } - public TankSystem? TankSystem { get { return DeclarationData.Vehicle.TankSystemDefault; } } - public IAdvancedDriverAssistantSystemDeclarationInputData ADAS { get { return this; } } - public bool ZeroEmissionVehicle { get { return DeclarationData.Vehicle.ZeroEmissionVehicleDefault; } } - public bool HybridElectricHDV { get { return DeclarationData.Vehicle.HybridElectricHDVDefault; } } - public bool DualFuelVehicle { get { return DeclarationData.Vehicle.DualFuelVehicleDefault; } } - public Watt MaxNetPower1 { get { return null; } } - public Watt MaxNetPower2 { get { return null; } } + public bool VocationalVehicle + { + get { return DeclarationData.Vehicle.VocationalVehicleDefault; } + } + + public bool SleeperCab + { + get { return DeclarationData.Vehicle.SleeperCabDefault; } + } + + public TankSystem? TankSystem + { + get { return DeclarationData.Vehicle.TankSystemDefault; } + } + + public IAdvancedDriverAssistantSystemDeclarationInputData ADAS + { + get { return this; } + } + + public bool ZeroEmissionVehicle + { + get { return DeclarationData.Vehicle.ZeroEmissionVehicleDefault; } + } + + public bool HybridElectricHDV + { + get { return DeclarationData.Vehicle.HybridElectricHDVDefault; } + } + + public bool DualFuelVehicle + { + get { return DeclarationData.Vehicle.DualFuelVehicleDefault; } + } + + public Watt MaxNetPower1 + { + get { return null; } + } + + public Watt MaxNetPower2 + { + get { return null; } + } IVehicleComponentsDeclaration IVehicleDeclarationInputData.Components { @@ -350,12 +399,25 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON #region Implementation of IAdvancedDriverAssistantSystemDeclarationInputData - public bool EngineStopStart { get { return DeclarationData.Vehicle.ADAS.EngineStopStartDefault; } } - public bool EcoRollWitoutEngineStop { get { return DeclarationData.Vehicle.ADAS.EcoRollWitoutEngineStop; } } - public bool EcoRollWithEngineStop { get { return DeclarationData.Vehicle.ADAS.EcoRollWithEngineStop; } } - public PredictiveCruiseControlType PredictiveCruiseControl { get { - return DeclarationData.Vehicle.ADAS.PredictiveCruiseControlDefault; - } } + public bool EngineStopStart + { + get { return DeclarationData.Vehicle.ADAS.EngineStopStartDefault; } + } + + public bool EcoRollWitoutEngineStop + { + get { return DeclarationData.Vehicle.ADAS.EcoRollWitoutEngineStop; } + } + + public bool EcoRollWithEngineStop + { + get { return DeclarationData.Vehicle.ADAS.EcoRollWithEngineStop; } + } + + public PredictiveCruiseControlType PredictiveCruiseControl + { + get { return DeclarationData.Vehicle.ADAS.PredictiveCruiseControlDefault; } + } #endregion } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs index 9592e120152efd63baadfc66e6783219310e0c89..7a7502f1543dffdb8b26b3d0c8dfdeecaaf9087a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs @@ -349,11 +349,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON get { return Body.GetEx<double>(JsonKeys.Gearbox_StartTorqueReserve) / 100.0; } } - ITorqueConverterDeclarationInputData IGearboxDeclarationInputData.TorqueConverter - { - get { return TorqueConverter; } - } - + public virtual ITorqueConverterEngineeringInputData TorqueConverter { get { return this; } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs index 61fde26b14d741eb15e6acaaa150749bdf22614a..ddc382aa28a8234959548e22258c72dcc7f6ecbd 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs @@ -706,8 +706,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON { get { return _inputReader.CreateDeclaration( - Path.Combine(Path.GetFullPath(BasePath), Body["DeclarationVehicle"].Value<string>()), - true).JobInputData.Vehicle; + Path.Combine(Path.GetFullPath(BasePath), Body["DeclarationVehicle"].Value<string>())).JobInputData.Vehicle; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs index 5f850e1944d795cca5c052286938ca6c2d70ec43..2272443ecfb8c854963a82ad555f910e842f0c3c 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs @@ -212,6 +212,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON get { return Job.Gearbox; } } + public ITorqueConverterDeclarationInputData TorqueConverter { get { return Job.TorqueConverter; } } + IGearboxEngineeringInputData IVehicleComponentsEngineering.GearboxInputData { get { return Job.Gearbox; } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/AbstractXMLResource.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/AbstractXMLResource.cs index c3eb2ebb9ffe8b39a98d6f5503fd1858c51e851d..3257911a1345187cd237e22f8a121327f4810075 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/AbstractXMLResource.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/AbstractXMLResource.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.Utils; @@ -20,7 +21,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { protected string SourceVersion { get { return XMLHelper.GetVersionFromNamespaceUri(SchemaNamespace); } } - protected abstract string SchemaNamespace { get; } + protected abstract XNamespace SchemaNamespace { get; } protected abstract DataSourceType SourceType { get; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLAuxiliaryDeclarationDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLAuxiliaryDeclarationDataProvider.cs index 27f75a36db8aa1c1a1e5b1bdbd1a1b1129605965..9b3b2ee0d28b061214a428a4c5f2dbc18947d419 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLAuxiliaryDeclarationDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLAuxiliaryDeclarationDataProvider.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; @@ -10,7 +11,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLAuxiliaryDeclarationDataProviderV10 : AbstractXMLType, IXMLAuxiliaryDeclarationInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "AuxiliariesComponentDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected AuxiliaryType? _type; private IList<string> _technology; @@ -46,8 +51,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLAuxiliaryDeclarationDataProviderV20 : XMLAuxiliaryDeclarationDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + public new const string XSD_TYPE = "AuxiliariesComponentDeclarationType"; + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLAuxiliaryDeclarationDataProviderV20(XmlNode auxNode, IXMLDeclarationVehicleData vehicle) : base( auxNode, vehicle) { } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs index ffa94eb4c9920093470f39247eb742c9ff17b044..e0fa06b48bd56f4a6d4d90695e471386b61cabfd 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; @@ -10,7 +11,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationADASDataProviderV10 : AbstractCommonComponentType, IXMLAdvancedDriverAssistantSystemDeclarationInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "ADASType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationADASDataProviderV10(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(componentNode, sourceFile) @@ -20,7 +25,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -62,9 +67,19 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider /* * ADAS are added in version 2.1 */ - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V21; - + + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V21; + + public new const string XSD_TYPE = "AdvancedDriverAssistantSystemsType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public XMLDeclarationADASDataProviderV21(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } + + protected override XNamespace SchemaNamespace + { + get { return NAMESPACE_URI; } + } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAirdragDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAirdragDataProvider.cs index 0b8c202ec8af41634bb5eb95a0387ff53bfd14cb..46bce18e6a72f70ff49691351a09ff200abc45fc 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAirdragDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAirdragDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; @@ -10,7 +11,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationAirdragDataProviderV10 : AbstractCommonComponentType, IXMLAirdragDeclarationInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "AirDragDataDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationAirdragDataProviderV10(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(componentNode, sourceFile) @@ -38,7 +43,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -52,13 +57,23 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationAirdragDataProviderV20 : XMLDeclarationAirdragDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + //public new const string XSD_TYPE = "AirDragComponentDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + static XMLDeclarationAirdragDataProviderV20() + { + NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + } public XMLDeclarationAirdragDataProviderV20(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } + } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAngledriveDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAngledriveDataProvider.cs index d000b8ca112c1268f1d76b0210a64929d638d252..cea58df1002302a9a297b6dc1313d0d07b88c2ca 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAngledriveDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAngledriveDataProvider.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; @@ -12,12 +13,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationAngledriveDataProviderV10 : AbstractCommonComponentType, IXMLAngledriveInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "AngledriveDataDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected IXMLDeclarationVehicleData Vehicle; - public XMLDeclarationAngledriveDataProviderV10(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : + public XMLDeclarationAngledriveDataProviderV10( + IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(componentNode, sourceFile) { SourceType = DataSourceType.XMLFile; @@ -54,7 +60,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -68,16 +74,24 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationAngledriveDataProviderV20 : XMLDeclarationAngledriveDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + //public new const string XSD_TYPE = "AngledriveComponentDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + static XMLDeclarationAngledriveDataProviderV20() + { + NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + } public XMLDeclarationAngledriveDataProviderV20( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base( vehicle, componentNode, sourceFile) { } - protected override string SchemaNamespace + + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } - - } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs index 4ef22aaca2a92df7067e403d5e1d4a0659afe66e..90015cc54e0fe922eb51d7126a2f73f615da183e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Runtime.InteropServices; using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; @@ -11,7 +12,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationAuxiliariesDataProviderV10 : AbstractXMLType, IXMLAuxiliariesDeclarationInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "AuxiliariesDataDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected IList<IAuxiliaryDeclarationInputData> _auxiliaries; @@ -53,7 +58,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Implementation of IXMLAuxiliariesDeclarationInputData - public virtual IXMLComponentReader Reader { protected get; set; } + public virtual IXMLAuxiliaryReader Reader { protected get; set; } #endregion } @@ -62,7 +67,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationAuxiliariesDataProviderV20 : XMLDeclarationAuxiliariesDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + //public new const string XSD_TYPE = "AuxiliariesComponentDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + static XMLDeclarationAuxiliariesDataProviderV20() + { + NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + } public XMLDeclarationAuxiliariesDataProviderV20( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base( diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxleDataProvider.cs index 203177d12faac5bbf889f71eb9ff382cf9eca7b8..872216c9850e8ec55661cd4f0c5ee2237ca5850a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxleDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; @@ -11,7 +12,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationAxleDataProviderV10 : AbstractCommonComponentType, IXMLAxleDeclarationInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "AxleDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected ITyreDeclarationInputData _tyre; protected bool? _twinTyre; @@ -49,13 +54,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Implementation of IXMLAxleDeclarationInputData - public virtual IXMLComponentReader Reader { protected get; set; } + public virtual IXMLAxleReader Reader { protected get; set; } #endregion #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -69,14 +74,24 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationAxleDataProviderV20 : XMLDeclarationAxleDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + public new const string XSD_TYPE = "AxleDataDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + static XMLDeclarationAxleDataProviderV20() + { + NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + } public XMLDeclarationAxleDataProviderV20(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } + } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxlegearDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxlegearDataProvider.cs index 22333c6aad504c942666eb1e28de9da8b2577a36..dbaa69e9c385044c127631d9df95678b73ff5b5a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxlegearDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxlegearDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; @@ -12,7 +13,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationAxlegearDataProviderV10 : AbstractCommonComponentType, IXMLAxleGearInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "AxlegearDataDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public XMLDeclarationAxlegearDataProviderV10( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : @@ -54,7 +60,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -68,13 +74,22 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationAxlegearDataProviderV20 : XMLDeclarationAxlegearDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + //public new const string XSD_TYPE = "AxlegearComponentDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + static XMLDeclarationAxlegearDataProviderV20() + { + NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + } public XMLDeclarationAxlegearDataProviderV20( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base( vehicle, componentNode, sourceFile) { } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxlesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxlesDataProvider.cs index f00167c164bf04cc803750c93f257692c80939a6..e0c96494e83613394ac06d25829d1fef7405878f 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxlesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAxlesDataProvider.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; @@ -12,7 +13,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationAxlesDataProviderV10 : AbstractXMLType, IXMLAxlesDeclarationInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "AxleWheelsDataDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected IAxleDeclarationInputData[] _axles; @@ -23,7 +28,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider DataSource = new DataSource() { SourceType = DataSourceType.XMLFile, SourceFile = sourceFile, - SourceVersion = XMLHelper.GetVersionFromNamespaceUri(NAMESPACE_URI) + SourceVersion = XMLHelper.GetVersionFromNamespaceUri(SchemaNamespace) }; } @@ -68,19 +73,35 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Implementation of IXMLAxlesDeclarationInputData - public virtual IXMLComponentReader Reader { protected get; set; } + public virtual IXMLAxlesReader Reader { protected get; set; } #endregion + + protected virtual XNamespace SchemaNamespace + { + get { return NAMESPACE_URI; } + } } // --------------------------------------------------------------------------------------- public class XMLDeclarationAxlesDataProviderV20 : XMLDeclarationAxlesDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + //public new const string XSD_TYPE = "AxleWheelsComponentDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = + XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLDeclarationAxlesDataProviderV20( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base( vehicle, componentNode, sourceFile) { } + + protected override XNamespace SchemaNamespace + { + get { return NAMESPACE_URI; } + } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs index 2994f42cefc736700e974a9cfa99544b142706d9..2037fb5c00097871c8d29177fd640714262f4854 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; @@ -8,8 +9,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationComponentsDataProviderV10 : AbstractCommonComponentType, IXMLVehicleComponentsDeclaration { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public const string XSD_TYPE = "VehicleComponentsType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected IAirdragDeclarationInputData _airdragInputData; protected IGearboxDeclarationInputData _gearboxInputData; @@ -21,9 +25,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider protected IAxlesDeclarationInputData _axleWheels; protected IPTOTransmissionInputData _ptoInputData; protected IXMLDeclarationVehicleData _vehicle; + protected ITorqueConverterDeclarationInputData _torqueconverterInputData; - public XMLDeclarationComponentsDataProviderV10(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : + public XMLDeclarationComponentsDataProviderV10( + IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(componentNode, sourceFile) { SourceType = DataSourceType.XMLFile; @@ -42,9 +48,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return _gearboxInputData ?? (_gearboxInputData = ComponentReader.GearboxInputData); } } + public virtual ITorqueConverterDeclarationInputData TorqueConverterInputData { - get { return GearboxInputData.TorqueConverter; } + get { return _torqueconverterInputData ?? (_torqueconverterInputData = ComponentReader.TorqueConverterInputData); } } public virtual IAxleGearInputData AxleGearInputData @@ -87,14 +94,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Implementation of IXMLVehicleComponentsDeclaration public virtual IXMLComponentReader ComponentReader { protected get; set; } - - + #endregion #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -108,14 +114,19 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationComponentsDataProviderV20 : XMLDeclarationComponentsDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + public new const string XSD_TYPE = "VehicleComponentsType"; - public XMLDeclarationComponentsDataProviderV20(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); - protected override string SchemaNamespace + public XMLDeclarationComponentsDataProviderV20( + IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base( + vehicle, componentNode, sourceFile) { } + + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } - } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationEngineDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationEngineDataProvider.cs index 7989046d72b2968fb8a0fe7dc622417002b877b9..6167654c32e1daec266dca10143f04f5a205a7cf 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationEngineDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationEngineDataProvider.cs @@ -1,5 +1,6 @@ using System; using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; @@ -12,7 +13,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationEngineDataProviderV10 : AbstractCommonComponentType, IXMLEngineDeclarationInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "EngineDataDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationEngineDataProviderV10( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : @@ -110,7 +115,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -124,13 +129,19 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationEngineDataProviderV20 : XMLDeclarationEngineDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + //public new static readonly XNamespace + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + //public new const string XSD_TYPE = "EngineComponentDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = + XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationEngineDataProviderV20( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base( vehicle, componentNode, sourceFile) { } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -144,7 +155,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider * harmonize fuel-type paramenter in Regulation 2019/318 (amendment of 2017/2400) */ - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V21; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V21; + + //public new const string XSD_TYPE = "EngineComponentDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = + XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationEngineDataProviderV21( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base( @@ -155,7 +171,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return GetString(XMLNames.Engine_FuelType).ParseEnum<FuelType>(); } } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs index 8dd051da516d56fe0e45bde3a520956b77344fc7..5bc21e05d781f953221a82fe436984575baa2329 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; @@ -13,21 +14,29 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationGearboxDataProviderV10 : AbstractCommonComponentType, IXMLGearboxDeclarationInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "GearboxDataDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + protected ITorqueConverterDeclarationInputData _torqueConverter; protected IList<ITransmissionInputData> _gears; + protected IXMLDeclarationVehicleData _vehicle; public XMLDeclarationGearboxDataProviderV10( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(componentNode, sourceFile) { SourceType = DataSourceType.XMLEmbedded; + _vehicle = vehicle; } + #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -76,16 +85,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider } } - public virtual ITorqueConverterDeclarationInputData TorqueConverter - { - get { return _torqueConverter ?? (_torqueConverter = Reader.TorqueConverterInputData); } - } + //public virtual ITorqueConverterDeclarationInputData TorqueConverter + //{ + // get { return _vehicle.Components.TorqueConverterInputData; } + //} #endregion #region Implementation of IXMLGearboxDeclarationInputData - public IXMLComponentReader Reader { protected get; set; } + public IXMLGearboxReader Reader { protected get; set; } #endregion } @@ -94,13 +103,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationGearboxDataProviderV20 : XMLDeclarationGearboxDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + //public new const string XSD_TYPE = "GearboxComponentDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationGearboxDataProviderV20( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base( vehicle, componentNode, sourceFile) { } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs index 84f76ad8bc8c0e79368f49a6e132b7bf58d455e8..eda34566e9eb0b42e5867977b862f6ef6c0c1f10 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs @@ -47,7 +47,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration { public class XMLDeclarationInputDataProviderV10 : AbstractXMLResource, IXMLDeclarationInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + // "urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0:VectoDeclarationJobType" + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "VectoDeclarationJobType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected readonly XmlDocument Document; protected IDeclarationJobInputData JobData; @@ -61,7 +66,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -90,12 +95,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration public class XMLDeclarationInputDataProviderV20 : XMLDeclarationInputDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + public new const string XSD_TYPE = "VectoDeclarationJobType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public XMLDeclarationInputDataProviderV20(XmlDocument xmlDoc, string fileName) : base(xmlDoc, fileName) { } - protected override string SchemaNamespace - { - get { return NAMESPACE_URI; } - } + } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationJobInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationJobInputDataProvider.cs index c145e526abb25d1c8fb4016156de82f72f636c34..468541b166b32c62360c6c0b6d76aa2ab6056fe7 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationJobInputDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationJobInputDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; @@ -8,7 +9,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationJobInputDataProviderV10 : AbstractXMLResource, IXMLDeclarationJobInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "VectoDeclarationJobType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected IVehicleDeclarationInputData _vehicle; @@ -20,7 +25,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -63,12 +68,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationJobInputDataProviderV20 : XMLDeclarationJobInputDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + public new const string XSD_TYPE = "VectoDeclarationJobType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationJobInputDataProviderV20(XmlNode node, IXMLDeclarationInputData inputProvider, string fileName) : base(node, inputProvider, fileName) { } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPTODataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPTODataProvider.cs index f071dc99758ca148e70ee5af3f3e6ba897437307..a61ca11776ae041c244fa698329e8d629f845ff6 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPTODataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPTODataProvider.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; @@ -12,7 +13,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationPTODataProviderV10 : AbstractXMLType, IXMLPTOTransmissionInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "PTOType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationPTODataProviderV10( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(componentNode) { } @@ -59,8 +64,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationPTODataProviderV20 : XMLDeclarationPTODataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + public new const string XSD_TYPE = "PTOType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public XMLDeclarationPTODataProviderV20(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationRetarderDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationRetarderDataProvider.cs index 218c54498d54bb46a85bf57373248aeb1b3acffb..84987042445328297ffccab9a94d04cd856ebb77 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationRetarderDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationRetarderDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; @@ -10,7 +11,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationRetarderDataProviderV10 : AbstractCommonComponentType, IXMLRetarderInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "RetarderDataDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected IXMLDeclarationVehicleData Vehicle; @@ -47,7 +52,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -61,13 +66,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationRetarderDataProviderV20 : XMLDeclarationRetarderDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + //public new const string XSD_TYPE = "RetarderComponentDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationRetarderDataProviderV20( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base( vehicle, componentNode, sourceFile) { } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationTorqueConverterDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationTorqueConverterDataProvider.cs index de17452f7dd4e05c7dfb8278ec1bac37f2f609bf..0618a0159d3243486d8ccc7dbac79e7975a44399 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationTorqueConverterDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationTorqueConverterDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; @@ -10,7 +11,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationTorqueConverterDataProviderV10 : AbstractCommonComponentType, IXMLTorqueConverterDeclarationInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "TorqueConverterDataDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public XMLDeclarationTorqueConverterDataProviderV10( IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : @@ -34,7 +40,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -48,10 +54,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationTorqueConverterDataProviderV20 : XMLDeclarationTorqueConverterDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + //public new const string XSD_TYPE = "TorqueConverterComponentDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public XMLDeclarationTorqueConverterDataProviderV20(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationTyreDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationTyreDataProvider.cs index 82b3bda792bcdf86a0c9b1d583d97ee87e9d5677..5686162397db92d9f3a4b7920de2686ab48bc5eb 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationTyreDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationTyreDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; @@ -9,7 +10,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationTyreDataProviderV10 : AbstractCommonComponentType, IXMLTyreDeclarationInputData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "TyreDataDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected string _dimension; protected double? _rrc; @@ -24,7 +29,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -57,12 +62,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationTyreDataProviderV20 : XMLDeclarationTyreDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + //public new const string XSD_TYPE = "TyreComponentDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationTyreDataProviderV20(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -72,12 +81,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLDeclarationTyreDataProviderV22 : XMLDeclarationTyreDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V22; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V22; + + //public new const string XSD_TYPE = "TyreComponentDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationTyreDataProviderV22(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(vehicle, componentNode, sourceFile) { } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index cf14858ebf3da426c0c281632a63bebe4a7e60ca..e1e7b469663f6b14f6b4fc271f3718f82d8470ce 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -32,6 +32,7 @@ using System; using System.Collections.Generic; using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; @@ -45,45 +46,60 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public class XMLDeclarationVehicleDataProviderV10 : AbstractCommonComponentType, IXMLDeclarationVehicleData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "VehicleDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); protected IVehicleComponentsDeclaration _components; protected IPTOTransmissionInputData _ptoData; - private XmlElement _componentNode; - private XmlElement _ptoNode; - private XmlElement _adasNode; + protected XmlElement _componentNode; + protected XmlElement _ptoNode; + protected XmlElement _adasNode; public XMLDeclarationVehicleDataProviderV10(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(xmlNode, sourceFile) { Job = jobData; - SourceType = DataSourceType.XMLFile; + SourceType = DataSourceType.XMLEmbedded; } - public XmlElement ComponentNode + public virtual XmlElement ComponentNode { - get { return _componentNode ?? (_componentNode = GetNode(XMLNames.Vehicle_Components) as XmlElement ); } + get { + if (ExemptedVehicle) { + return null; + } + + return _componentNode ?? (_componentNode = GetNode(XMLNames.Vehicle_Components) as XmlElement); + } } public virtual IXMLComponentReader ComponentReader { protected get; set; } - public XmlElement PTONode + public virtual XmlElement PTONode { - get { return _ptoNode ?? (_ptoNode = GetNode(XMLNames.Vehicle_PTO) as XmlElement); } + get { + if (ExemptedVehicle) { + return null; + } + return _ptoNode ?? (_ptoNode = GetNode(XMLNames.Vehicle_PTO) as XmlElement); + } } public virtual IXMLPTOReader PTOReader { protected get; set; } - public XmlElement ADASNode + public virtual XmlElement ADASNode { get { return _adasNode ?? (_adasNode = GetNode(XMLNames.Vehicle_ADAS, required: false) as XmlElement); } } public virtual IXMLADASReader ADASReader { protected get; set; } - - public IXMLDeclarationJobInputData Job { get; } + + public virtual IXMLDeclarationJobInputData Job { get; } public virtual string Identifier { @@ -262,7 +278,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -280,12 +296,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider * use default values for new parameters introduced in 2019/318 (amendment of 2017/2400 */ - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + public new const string XSD_TYPE = "VehicleDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = + XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLDeclarationVehicleDataProviderV20(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) { } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -339,10 +360,25 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { #region Implementation of IAdvancedDriverAssistantSystemDeclarationInputData - public bool EngineStopStart { get { return false; } } - public bool EcoRollWitoutEngineStop { get { return false; } } - public bool EcoRollWithEngineStop { get { return false; } } - public PredictiveCruiseControlType PredictiveCruiseControl { get { return PredictiveCruiseControlType.None; } } + public bool EngineStopStart + { + get { return false; } + } + + public bool EcoRollWitoutEngineStop + { + get { return false; } + } + + public bool EcoRollWithEngineStop + { + get { return false; } + } + + public PredictiveCruiseControlType PredictiveCruiseControl + { + get { return PredictiveCruiseControlType.None; } + } #endregion } @@ -356,7 +392,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider * added new parameters introduced in 2019/318 (amendment of 2017/2400) (already implemented in version 1.0) */ - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V21; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V21; + + public new const string XSD_TYPE = "VehicleDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = + XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public XMLDeclarationVehicleDataProviderV21(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) { } @@ -373,9 +415,149 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider } } - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace + { + get { return NAMESPACE_URI; } + } + } + + public class XMLDeclarationExemptedVehicleDataProviderV22 : XMLDeclarationVehicleDataProviderV20 + { + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V21; + + public new const string XSD_TYPE = "ExemptedVehicleDeclarationType"; + + public new static readonly string QUALIFIED_XSD_TYPE = + XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLDeclarationExemptedVehicleDataProviderV22( + IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile) + { + SourceType = DataSourceType.XMLEmbedded; + } + + #region Overrides of AbstractXMLResource + + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } + + protected override DataSourceType SourceType { get; } + + #endregion + + #region Implementation of IVehicleDeclarationInputData + + public override bool ExemptedVehicle + { + get { return true; } + } + + public override AxleConfiguration AxleConfiguration + { + get { return AxleConfiguration.AxleConfig_Undefined; } + } + + public override IList<ITorqueLimitInputData> TorqueLimits + { + get { return new List<ITorqueLimitInputData>(); } + } + + public override PerSecond EngineIdleSpeed + { + get { return null; } + } + + public override bool VocationalVehicle + { + get { return false; } + } + + public override bool SleeperCab + { + get { return false; } + } + + public override TankSystem? TankSystem + { + get { return null; } + } + + public override IAdvancedDriverAssistantSystemDeclarationInputData ADAS + { + get { return null; } + } + + public override bool ZeroEmissionVehicle + { + get { return XmlConvert.ToBoolean(GetString(XMLNames.Vehicle_ZeroEmissionVehicle)); } + } + + public override bool HybridElectricHDV + { + get { return XmlConvert.ToBoolean(GetString(XMLNames.Vehicle_HybridElectricHDV)); } + } + + public override bool DualFuelVehicle + { + get { return XmlConvert.ToBoolean(GetString(XMLNames.Vehicle_DualFuelVehicle)); } + } + + public override Watt MaxNetPower1 + { + get { return GetDouble(XMLNames.Vehicle_MaxNetPower1).SI<Watt>(); } + } + + public override Watt MaxNetPower2 + { + get { return GetDouble(XMLNames.Vehicle_MaxNetPower2).SI<Watt>(); } + } + + public override IVehicleComponentsDeclaration Components + { + get { return null; } + } + + #endregion + + #region Implementation of IXMLDeclarationVehicleData + + public override XmlElement ComponentNode + { + get { return null; } + } + + public override XmlElement PTONode + { + get { return null; } + } + + public override XmlElement ADASNode + { + get { return null; } + } + + public override AngledriveType AngledriveType + { + get { return AngledriveType.None; } + } + + public override RetarderType RetarderType + { + get { return RetarderType.None; } + } + + public override double RetarderRatio + { + get { return 0; } + } + + public override IPTOTransmissionInputData PTOTransmissionInputData + { + get { return null; } + } + + #endregion } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLGearData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLGearData.cs index 711f241de777a731797c284bad0ac0e3b9970c55..be900af24c1a861504a2a77ebd9f7d62b95f3180 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLGearData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLGearData.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; @@ -32,7 +33,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider } } - protected abstract string SchemaNamespace { get; } + protected abstract XNamespace SchemaNamespace { get; } #region Implementation of ITransmissionInputData @@ -85,13 +86,20 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLGearDataV10 : XMLAbstractGearData, IXMLGearData { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "GearDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); public XMLGearDataV10(XmlNode gearNode, string sourceFile) : base(gearNode, sourceFile) { } #region Overrides of XMLAbstractGearData - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace + { + get { return NAMESPACE_URI; } + } #endregion } @@ -100,11 +108,18 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public class XMLGearDataV20 : XMLGearDataV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; - public XMLGearDataV20(XmlNode gearNode, string sourceFile) : base(gearNode, sourceFile) { } + public new const string XSD_TYPE = "GearDeclarationType"; - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLGearDataV20(XmlNode gearNode, string sourceFile) : base(gearNode, sourceFile) { } + + protected override XNamespace SchemaNamespace + { + get { return NAMESPACE_URI; } + } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs index cfa40aac065eb43e64eb0e1c108b05ca00494fa2..09fc27814aa854175b2a90d2fe5147747110d7be 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs @@ -71,19 +71,25 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory // --------------------------------------------------------------------------------------------- IXMLDeclarationInputDataReader CreateInputReader( - string version, IXMLDeclarationInputData inputData, XmlNode baseNode, bool verifyXML); + string version, IXMLDeclarationInputData inputData, XmlNode baseNode); IXMLJobDataReader CreateJobReader( - string version, IXMLDeclarationJobInputData jobData, XmlNode jobNode, bool verifyXML); + string version, IXMLDeclarationJobInputData jobData, XmlNode jobNode); IXMLComponentReader CreateComponentReader( - string version, IXMLDeclarationVehicleData vehicle, XmlNode componentsNode, bool verifyXML); + string version, IXMLDeclarationVehicleData vehicle, XmlNode componentsNode); IXMLADASReader CreateADASReader( - string version, IXMLDeclarationVehicleData vehicle, XmlNode vehicleNode, bool verifyXML); + string version, IXMLDeclarationVehicleData vehicle, XmlNode vehicleNode); IXMLPTOReader CreatePTOReader( - string version, IXMLDeclarationVehicleData vehicle, XmlNode componentNode, bool verifyXML); + string version, IXMLDeclarationVehicleData vehicle, XmlNode componentNode); + + IXMLAxlesReader CreateAxlesReader(string version, IXMLDeclarationVehicleData vehicle, XmlNode componentsNode); + + IXMLAxleReader CreateAxleReader(string version, IXMLDeclarationVehicleData vehicle, XmlNode componentsNode); + IXMLGearboxReader CreateGearboxReader(string version, IXMLDeclarationVehicleData vehicle, XmlNode componentsNode); + IXMLAuxiliaryReader CreateAuxiliariesReader(string version, IXMLDeclarationVehicleData vehicle, XmlNode componentsNode); } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLAuxiliariesDeclarationInputData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLAuxiliariesDeclarationInputData.cs index 7af8c927b9cc0b40f3aa833668dee834c9abb74d..161f6eb0d281922d89fd9564098c999321796cfb 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLAuxiliariesDeclarationInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLAuxiliariesDeclarationInputData.cs @@ -5,7 +5,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces { public interface IXMLAuxiliariesDeclarationInputData : IAuxiliariesDeclarationInputData { - IXMLComponentReader Reader { set; } + IXMLAuxiliaryReader Reader { set; } } public interface IXMLAuxiliaryDeclarationInputData : IAuxiliaryDeclarationInputData diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLAxleDeclarationInputData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLAxleDeclarationInputData.cs index 999e0cd8591bfa6a3b12db04bb4f8e3c72864878..54d61b5d1cbdb7814747b5956e0e744dd4265761 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLAxleDeclarationInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLAxleDeclarationInputData.cs @@ -4,6 +4,6 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces { public interface IXMLAxleDeclarationInputData : IAxleDeclarationInputData, IXMLResource { - IXMLComponentReader Reader { set; } + IXMLAxleReader Reader { set; } } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLAxlesDeclarationInputData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLAxlesDeclarationInputData.cs index 081e165b930edacfb7125e5fc20621ed46fabde1..186de637d2b56458e8d3f295eb6365102408e2a1 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLAxlesDeclarationInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLAxlesDeclarationInputData.cs @@ -4,6 +4,6 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces { public interface IXMLAxlesDeclarationInputData : IAxlesDeclarationInputData, IXMLResource { - IXMLComponentReader Reader { set; } + IXMLAxlesReader Reader { set; } } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLGearboxDeclarationInputData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLGearboxDeclarationInputData.cs index 51ac9f0415f7bb3c1cd7d84748692526cacc0e1b..3f9c80ac0bc93deb795e69d264dc669442ca170f 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLGearboxDeclarationInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLGearboxDeclarationInputData.cs @@ -5,6 +5,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces { public interface IXMLGearboxDeclarationInputData : IGearboxDeclarationInputData, IXMLResource { - IXMLComponentReader Reader { set; } + IXMLGearboxReader Reader { set; } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV10InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV10InjectModule.cs index 2a332a307013409f41f24d3a7d7c122d32364392..471805d8fa1ba613c5c62bdf0d5b79cf8eea6468 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV10InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV10InjectModule.cs @@ -14,78 +14,88 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules public override void Load() { Bind<IXMLDeclarationInputData>().To<XMLDeclarationInputDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationInputDataProviderV10.NAMESPACE_URI)); + XMLDeclarationInputDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLDeclarationJobInputData>().To<XMLDeclarationJobInputDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationJobInputDataProviderV10.NAMESPACE_URI)); + XMLDeclarationJobInputDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationVehicleDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationVehicleDataProviderV10.NAMESPACE_URI)); + XMLDeclarationVehicleDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationComponentsDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationComponentsDataProviderV10.NAMESPACE_URI)); + XMLDeclarationComponentsDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAirdragDeclarationInputData>().To<XMLDeclarationAirdragDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationAirdragDataProviderV10.NAMESPACE_URI)); + XMLDeclarationAirdragDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAngledriveInputData>().To<XMLDeclarationAngledriveDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationAngledriveDataProviderV10.NAMESPACE_URI)); + XMLDeclarationAngledriveDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAxleGearInputData>().To<XMLDeclarationAxlegearDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationAxlegearDataProviderV10.NAMESPACE_URI)); + XMLDeclarationAxlegearDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLEngineDeclarationInputData>().To<XMLDeclarationEngineDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationEngineDataProviderV10.NAMESPACE_URI)); + XMLDeclarationEngineDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLRetarderInputData>().To<XMLDeclarationRetarderDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationRetarderDataProviderV10.NAMESPACE_URI)); + XMLDeclarationRetarderDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLGearboxDeclarationInputData>().To<XMLDeclarationGearboxDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationGearboxDataProviderV10.NAMESPACE_URI)); + .Named(XMLDeclarationGearboxDataProviderV10.QUALIFIED_XSD_TYPE); - Bind<IXMLGearData>().To<XMLGearDataV10>().Named(XMLHelper.GetVersionFromNamespaceUri(XMLGearDataV10.NAMESPACE_URI)); + Bind<IXMLGearData>().To<XMLGearDataV10>().Named(XMLGearDataV10.QUALIFIED_XSD_TYPE); Bind<IXMLTorqueConverterDeclarationInputData>().To<XMLDeclarationTorqueConverterDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationTorqueConverterDataProviderV10.NAMESPACE_URI)); + XMLDeclarationTorqueConverterDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAxlesDeclarationInputData>().To<XMLDeclarationAxlesDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationAxlesDataProviderV10.NAMESPACE_URI)); + XMLDeclarationAxlesDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAxleDeclarationInputData>().To<XMLDeclarationAxleDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationAxleDataProviderV10.NAMESPACE_URI)); + XMLDeclarationAxleDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLTyreDeclarationInputData>().To<XMLDeclarationTyreDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationTyreDataProviderV10.NAMESPACE_URI)); + XMLDeclarationTyreDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAuxiliariesDeclarationInputData>().To<XMLDeclarationAuxiliariesDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationAuxiliariesDataProviderV10.NAMESPACE_URI)); + XMLDeclarationAuxiliariesDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAuxiliaryDeclarationInputData>().To<XMLAuxiliaryDeclarationDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLAuxiliaryDeclarationDataProviderV10.NAMESPACE_URI)); + XMLAuxiliaryDeclarationDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLPTOTransmissionInputData>().To<XMLDeclarationPTODataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationPTODataProviderV10.NAMESPACE_URI)); + XMLDeclarationPTODataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAdvancedDriverAssistantSystemDeclarationInputData>() .To<XMLDeclarationADASDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationADASDataProviderV10.NAMESPACE_URI)); + XMLDeclarationADASDataProviderV10.QUALIFIED_XSD_TYPE); // --------------------------------------------------------------------------------------- Bind<IXMLDeclarationInputDataReader>().To<XMLDeclarationInputReaderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationInputReaderV10.NAMESPACE_URI)); + .Named(XMLDeclarationInputReaderV10.QUALIFIED_XSD_TYPE); Bind<IXMLJobDataReader>().To<XMLJobDataReaderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLJobDataReaderV10.NAMESPACE_URI)); + .Named(XMLJobDataReaderV10.QUALIFIED_XSD_TYPE); Bind<IXMLComponentReader>().To<XMLComponentReaderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLComponentReaderV10.NAMESPACE_URI)); + .Named(XMLComponentReaderV10.QUALIFIED_XSD_TYPE); + + Bind<IXMLGearboxReader>().To<XMLComponentReaderV10>().Named(XMLComponentReaderV10.GEARBOX_READER_QUALIFIED_XSD_TYPE); Bind<IXMLPTOReader>().To<XMLPTOReaderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLPTOReaderV10.NAMESPACE_URI)); + .Named(XMLPTOReaderV10.QUALIFIED_XSD_TYPE); Bind<IXMLADASReader>().To<XMLADASReaderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLADASReaderV10.NAMESPACE_URI)); + .Named(XMLADASReaderV10.QUALIFIED_XSD_TYPE); + + Bind<IXMLAxlesReader>().To<XMLComponentReaderV10>().Named(XMLComponentReaderV10.AXLES_READER_QUALIFIED_XSD_TYPE); + + Bind<IXMLAxleReader>().To<XMLComponentReaderV10>().Named(XMLComponentReaderV10.AXLE_READER_QUALIFIED_XSD_TYPE); + + Bind<IXMLAuxiliaryReader>().To<XMLComponentReaderV10>() + .Named(XMLComponentReaderV10.AUXILIARIES_READER_QUALIFIED_XSD_TYPE); + } #endregion diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV20InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV20InjectModule.cs index a81f2464ab18d2ef026ccf252914bef391b6c48e..db88867af5a591a9c446333fde232c99ac16b39a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV20InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV20InjectModule.cs @@ -14,75 +14,85 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules public override void Load() { Bind<IXMLDeclarationInputData>().To<XMLDeclarationInputDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationInputDataProviderV20.NAMESPACE_URI)); + XMLDeclarationInputDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLDeclarationJobInputData>().To<XMLDeclarationJobInputDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationJobInputDataProviderV20.NAMESPACE_URI)); + XMLDeclarationJobInputDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationVehicleDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationVehicleDataProviderV20.NAMESPACE_URI)); + XMLDeclarationVehicleDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationComponentsDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationComponentsDataProviderV20.NAMESPACE_URI)); + XMLDeclarationComponentsDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLAirdragDeclarationInputData>().To<XMLDeclarationAirdragDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationAirdragDataProviderV20.NAMESPACE_URI)); + XMLDeclarationAirdragDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLAngledriveInputData>().To<XMLDeclarationAngledriveDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationAngledriveDataProviderV20.NAMESPACE_URI)); + XMLDeclarationAngledriveDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLAxleGearInputData>().To<XMLDeclarationAxlegearDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationAxlegearDataProviderV20.NAMESPACE_URI)); + XMLDeclarationAxlegearDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLEngineDeclarationInputData>().To<XMLDeclarationEngineDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationEngineDataProviderV20.NAMESPACE_URI)); + XMLDeclarationEngineDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLRetarderInputData>().To<XMLDeclarationRetarderDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationRetarderDataProviderV20.NAMESPACE_URI)); + XMLDeclarationRetarderDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLGearboxDeclarationInputData>().To<XMLDeclarationGearboxDataProviderV20>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationGearboxDataProviderV20.NAMESPACE_URI)); + .Named(XMLDeclarationGearboxDataProviderV20.QUALIFIED_XSD_TYPE); - Bind<IXMLGearData>().To<XMLGearDataV20>().Named(XMLHelper.GetVersionFromNamespaceUri(XMLGearDataV20.NAMESPACE_URI)); + Bind<IXMLGearData>().To<XMLGearDataV20>().Named(XMLGearDataV20.QUALIFIED_XSD_TYPE); Bind<IXMLTorqueConverterDeclarationInputData>().To<XMLDeclarationTorqueConverterDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationTorqueConverterDataProviderV20.NAMESPACE_URI)); + XMLDeclarationTorqueConverterDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLAxlesDeclarationInputData>().To<XMLDeclarationAxlesDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationAxlesDataProviderV20.NAMESPACE_URI)); + XMLDeclarationAxlesDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLAxleDeclarationInputData>().To<XMLDeclarationAxleDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationAxleDataProviderV20.NAMESPACE_URI)); + XMLDeclarationAxleDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLTyreDeclarationInputData>().To<XMLDeclarationTyreDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationTyreDataProviderV20.NAMESPACE_URI)); + XMLDeclarationTyreDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLAuxiliariesDeclarationInputData>().To<XMLDeclarationAuxiliariesDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationAuxiliariesDataProviderV20.NAMESPACE_URI)); + XMLDeclarationAuxiliariesDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLAuxiliaryDeclarationInputData>().To<XMLAuxiliaryDeclarationDataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLAuxiliaryDeclarationDataProviderV20.NAMESPACE_URI)); + XMLAuxiliaryDeclarationDataProviderV20.QUALIFIED_XSD_TYPE); Bind<IXMLPTOTransmissionInputData>().To<XMLDeclarationPTODataProviderV20>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationPTODataProviderV20.NAMESPACE_URI)); + XMLDeclarationPTODataProviderV20.QUALIFIED_XSD_TYPE); // --------------------------------------------------------------------------------------- Bind<IXMLDeclarationInputDataReader>().To<XMLDeclarationInputReaderV20>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationInputReaderV20.NAMESPACE_URI)); + .Named(XMLDeclarationInputReaderV20.QUALIFIED_XSD_TYPE); Bind<IXMLJobDataReader>().To<XMLJobDataReaderV20>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLJobDataReaderV20.NAMESPACE_URI)); + .Named(XMLJobDataReaderV20.QUALIFIED_XSD_TYPE); Bind<IXMLComponentReader>().To<XMLComponentReaderV20>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLComponentReaderV20.NAMESPACE_URI)); + .Named(XMLComponentReaderV20.QUALIFIED_XSD_TYPE); Bind<IXMLPTOReader>().To<XMLPTOReaderV20>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLPTOReaderV20.NAMESPACE_URI)); + .Named(XMLPTOReaderV20.QUALIFIED_XSD_TYPE); Bind<IXMLADASReader>().To<XMLADASReaderV20>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLADASReaderV20.NAMESPACE_URI)); + .Named(XMLADASReaderV20.QUALIFIED_XSD_TYPE); + + + Bind<IXMLGearboxReader>().To<XMLComponentReaderV20>().Named(XMLComponentReaderV20.GEARBOX_READER_QUALIFIED_XSD_TYPE); + + Bind<IXMLAxlesReader>().To<XMLComponentReaderV20>().Named(XMLComponentReaderV20.AXLES_READER_QUALIFIED_XSD_TYPE); + + Bind<IXMLAxleReader>().To<XMLComponentReaderV20>().Named(XMLComponentReaderV20.AXLE_READER_QUALIFIED_XSD_TYPE); + + Bind<IXMLAuxiliaryReader>().To<XMLComponentReaderV20>() + .Named(XMLComponentReaderV20.AUXILIARIES_READER_QUALIFIED_XSD_TYPE); } #endregion diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs index ae6823fc0833a53cc19066414405faf562fd42ea..41d1fec433d3d3af250de6f722dea52be511e433 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs @@ -14,25 +14,28 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules public override void Load() { Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationVehicleDataProviderV21>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationVehicleDataProviderV21.NAMESPACE_URI)); + XMLDeclarationVehicleDataProviderV21.QUALIFIED_XSD_TYPE); + + Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationExemptedVehicleDataProviderV22>() + .Named(XMLDeclarationExemptedVehicleDataProviderV22.QUALIFIED_XSD_TYPE); Bind<IXMLEngineDeclarationInputData>().To<XMLDeclarationEngineDataProviderV21>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationEngineDataProviderV21.NAMESPACE_URI)); + XMLDeclarationEngineDataProviderV21.QUALIFIED_XSD_TYPE); Bind<IXMLAdvancedDriverAssistantSystemDeclarationInputData>() .To<XMLDeclarationADASDataProviderV21>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationADASDataProviderV21.NAMESPACE_URI)); + XMLDeclarationADASDataProviderV21.QUALIFIED_XSD_TYPE); Bind<IXMLEngineDeclarationInputData>().To<XMLDeclarationEngineDataProviderV21>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationEngineDataProviderV21.NAMESPACE_URI)); + XMLDeclarationEngineDataProviderV21.QUALIFIED_XSD_TYPE); // --------------------------------------------------------------------------------------- Bind<IXMLJobDataReader>().To<XMLJobDataReaderV21>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLJobDataReaderV21.NAMESPACE_URI)); + .Named(XMLJobDataReaderV21.QUALIFIED_XSD_TYPE); Bind<IXMLADASReader>().To<XMLADASReaderV21>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLADASReaderV21.NAMESPACE_URI)); + .Named(XMLADASReaderV21.QUALIFIED_XSD_TYPE); } #endregion diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV22InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV22InjectModule.cs index 79e88265bd5591be68510da1fad4a4833092516b..d7ad0232f4d198626e8bb6cea1575d7b97e0f28e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV22InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV22InjectModule.cs @@ -11,7 +11,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules { public override void Load() { Bind<IXMLTyreDeclarationInputData>().To<XMLDeclarationTyreDataProviderV22>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLDeclarationTyreDataProviderV22.NAMESPACE_URI)); + XMLDeclarationTyreDataProviderV22.QUALIFIED_XSD_TYPE); } #endregion diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/IXMLComponentReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/IXMLComponentReader.cs index 1a8a1001e2c971c8300b1d73f912d163d621be3b..95ca732af5a4864582bcb7a857693766184e6c42 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/IXMLComponentReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/IXMLComponentReader.cs @@ -17,10 +17,26 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader IAxlesDeclarationInputData AxlesDeclarationInputData { get; } ITorqueConverterDeclarationInputData TorqueConverterInputData { get; } - ITransmissionInputData CreateGear(XmlNode gearNode); - IAuxiliaryDeclarationInputData CreateAuxiliary(XmlNode auxNode); + } + + public interface IXMLAxlesReader + { IAxleDeclarationInputData CreateAxle(XmlNode axleNode); + } + public interface IXMLAxleReader + { ITyreDeclarationInputData Tyre { get; } } + + public interface IXMLGearboxReader + { + ITransmissionInputData CreateGear(XmlNode gearNode); + } + + public interface IXMLAuxiliaryReader + { + IAuxiliaryDeclarationInputData CreateAuxiliary(XmlNode auxNode); + + } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/AbstractComponentReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/AbstractComponentReader.cs index e4faa9d891d8dcbae6b1a15ab93748f42cd74ad9..3976e39fcad30fbe1dd02f379f71b2b9ae2abda5 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/AbstractComponentReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/AbstractComponentReader.cs @@ -10,15 +10,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl { public abstract class AbstractComponentReader { - protected bool VerifyXML; protected readonly XmlNode BaseNode; protected readonly IXMLResource ParentComponent; - public AbstractComponentReader(IXMLResource parent, XmlNode baseNode, bool verifyXML) + public AbstractComponentReader(IXMLResource parent, XmlNode baseNode) { BaseNode = baseNode; ParentComponent = parent; - VerifyXML = verifyXML; } protected virtual T CreateComponent<T>( @@ -30,8 +28,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl var dataNode = componentNode?.SelectSingleNode(string.Format("./*[local-name()='{0}']", XMLNames.ComponentDataWrapper)); if (componentNode != null) { - var type = (dataNode ?? componentNode).SchemaInfo.SchemaType; - var version = XMLHelper.GetSchemaVersion(type); + var type = (dataNode ?? componentNode).SchemaInfo.SchemaType; + var version = XMLHelper.GetXsdType(type); if (string.IsNullOrWhiteSpace(version)) { version = XMLHelper.GetVersionFromNamespaceUri(((dataNode ?? componentNode).SchemaInfo.SchemaType?.Parent as XmlSchemaElement)?.QualifiedName.Namespace); } @@ -49,13 +47,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl throw new VectoException("Component {0} not found!", component); } - protected virtual T GetReader<T>(IXMLDeclarationVehicleData vehicle, XmlNode node, Func<string, IXMLDeclarationVehicleData, XmlNode, bool, T> creator) + protected virtual T GetReader<T>(IXMLDeclarationVehicleData vehicle, XmlNode node, Func<string, IXMLDeclarationVehicleData, XmlNode, T> creator) where T : class { - var version = XMLHelper.GetSchemaVersion(node.SchemaInfo.SchemaType); + if (node == null) { + return null; + } + var version = XMLHelper.GetXsdType(node.SchemaInfo.SchemaType); if (string.IsNullOrWhiteSpace(version)) { version = XMLHelper.GetVersionFromNamespaceUri((node.SchemaInfo.SchemaType?.Parent as XmlSchemaElement)?.QualifiedName.Namespace); } - return creator(version, vehicle, node, VerifyXML); + return creator(version, vehicle, node); } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLADASReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLADASReader.cs index 829cfe50bef639d09995a423a1cf7e4e5f94e011..84ae862987a8ea976649f75256bb572a7bb047f1 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLADASReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLADASReader.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using Ninject; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; @@ -10,7 +11,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl { public class XMLADASReaderV10 : AbstractComponentReader, IXMLADASReader { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "ADASType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); [Inject] public IDeclarationInjectFactory Factory { protected get; set; } @@ -19,8 +24,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl protected IAdvancedDriverAssistantSystemDeclarationInputData _adas; - public XMLADASReaderV10(IXMLDeclarationVehicleData vehicle, XmlNode vehicleNode, bool verifyXML) : base( - vehicle, vehicleNode, verifyXML) + public XMLADASReaderV10(IXMLDeclarationVehicleData vehicle, XmlNode vehicleNode) : base( + vehicle, vehicleNode) { Vehicle = vehicle; } @@ -38,12 +43,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl string version, XmlNode componentNode, string sourceFile) { if (version == null) { - version = XMLHelper.GetVersionFromNamespaceUri(SchemaVersion); + version = XMLHelper.GetVersionFromNamespaceUri(SchemaNamespace); } return Factory.CreateADASData(version, Vehicle, componentNode, sourceFile); } - public virtual string SchemaVersion + public virtual XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -53,17 +58,22 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public class XMLADASReaderV20 : XMLADASReaderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + //public new const string XSD_TYPE = "ADASType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); - public XMLADASReaderV20(IXMLDeclarationVehicleData vehicle, XmlNode vehicleNode, bool verifyXML) : base( - vehicle, vehicleNode, verifyXML) { } + + public XMLADASReaderV20(IXMLDeclarationVehicleData vehicle, XmlNode vehicleNode) : base( + vehicle, vehicleNode) { } public override IAdvancedDriverAssistantSystemDeclarationInputData ADASInputData { get { return _adas ?? (_adas = CreateComponent(XMLNames.Vehicle_ADAS, ADASCreator, true)); } } - public override string SchemaVersion + public override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -73,12 +83,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public class XMLADASReaderV21 : XMLADASReaderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V21; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V21; + + public new const string XSD_TYPE = "AdvancedDriverAssistantSystemsType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); - public XMLADASReaderV21(IXMLDeclarationVehicleData vehicle, XmlNode vehicleNode, bool verifyXML) : base( - vehicle, vehicleNode, verifyXML) { } + public XMLADASReaderV21(IXMLDeclarationVehicleData vehicle, XmlNode vehicleNode) : base( + vehicle, vehicleNode) { } - public override string SchemaVersion + public override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs index d1433b4f1719c3a757d82012958f63cd996fb426..11f80534984fa0227785098e4aacf7196f980f7e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs @@ -1,5 +1,6 @@ using System; using System.Xml; +using System.Xml.Linq; using Ninject; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; @@ -12,9 +13,21 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl { - public class XMLComponentReaderV10 : AbstractComponentReader, IXMLComponentReader + public class XMLComponentReaderV10 : AbstractComponentReader, IXMLComponentReader, IXMLAxlesReader, IXMLAxleReader, IXMLGearboxReader, IXMLAuxiliaryReader { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "VehicleComponentsType"; + public const string AXLES_READER_TYPE = "AxleWheelsDataDeclarationType"; + public const string AXLE_READER_TYPE = "AxleDeclarationType"; + public const string GEARBOX_READER_TYPE = "GearboxDataDeclarationType"; + public const string AUX_READER_TYPE = "AuxiliariesDataDeclarationType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public static readonly string AXLES_READER_QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, AXLES_READER_TYPE); + public static readonly string AXLE_READER_QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, AXLE_READER_TYPE); + public static readonly string GEARBOX_READER_QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, GEARBOX_READER_TYPE); + public static readonly string AUXILIARIES_READER_QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, AUX_READER_TYPE); protected IXMLDeclarationVehicleData Vehicle; @@ -33,8 +46,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl [Inject] public IDeclarationInjectFactory Factory { protected get; set; } - public XMLComponentReaderV10(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode, bool verifyXML) : base( - vehicle, componentsNode, verifyXML) + public XMLComponentReaderV10(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode) : base( + vehicle, componentsNode) { if (componentsNode == null) { throw new VectoException("component node must not be null!"); @@ -67,6 +80,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public virtual ITorqueConverterDeclarationInputData TorqueConverterInputData { get { + if (_torqueConverterInputData == null && BaseNode.SelectSingleNode(XMLHelper.QueryLocalName(XMLNames.Component_TorqueConverter)) == null) { + return null; + } return _torqueConverterInputData ?? (_torqueConverterInputData = CreateComponent( XMLNames.Component_TorqueConverter, TorqueConverterCreator)); } @@ -74,7 +90,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public virtual ITransmissionInputData CreateGear(XmlNode gearNode) { - var version = XMLHelper.GetSchemaVersion(gearNode); + var version = XMLHelper.GetXsdType(gearNode.SchemaInfo.SchemaType); try { return Factory.CreateGearData(version, gearNode, ParentComponent.DataSource.SourceFile); } catch (Exception e) { @@ -86,7 +102,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public virtual IAuxiliaryDeclarationInputData CreateAuxiliary(XmlNode auxNode) { - var version = XMLHelper.GetSchemaVersion(auxNode); + var version = XMLHelper.GetXsdType(auxNode.ParentNode.ParentNode.SchemaInfo.SchemaType); try { return Factory.CreateAuxiliaryData(version, auxNode, Vehicle); } catch (Exception e) { @@ -96,10 +112,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public virtual IAxleDeclarationInputData CreateAxle(XmlNode axleNode) { - var version = XMLHelper.GetSchemaVersion(axleNode); + var version = XMLHelper.GetXsdType(axleNode.SchemaInfo.SchemaType); try { var axle = Factory.CreateAxleData(version, Vehicle, axleNode, (Vehicle as IXMLResource).DataSource.SourceFile); - axle.Reader = Factory.CreateComponentReader(version, Vehicle, axleNode, VerifyXML); + axle.Reader = Factory.CreateAxleReader(version, Vehicle, axleNode); return axle; } catch (Exception e) { var axleNumber = axleNode.Attributes?.GetNamedItem(XMLNames.AxleWheels_Axles_Axle_AxleNumber_Attr).InnerText; @@ -177,7 +193,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl string version, XmlNode componentNode, string sourceFile) { var gbx = Factory.CreateGearboxData(version, Vehicle, componentNode, sourceFile); - gbx.Reader = Factory.CreateComponentReader(version, Vehicle, componentNode, VerifyXML); + gbx.Reader = Factory.CreateGearboxReader(version, Vehicle, componentNode); return gbx; } @@ -223,7 +239,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl string version, XmlNode componentNode, string sourceFile) { var axles = Factory.CreateAxleWheels(version, Vehicle, componentNode, sourceFile); - axles.Reader = Factory.CreateComponentReader(version, Vehicle, componentNode, VerifyXML); + axles.Reader = Factory.CreateAxlesReader(version, Vehicle, componentNode); return axles; } @@ -238,7 +254,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl string version, XmlNode componentNode, string sourceFile) { var aux = Factory.CreateAuxiliariesData(version, Vehicle, componentNode, sourceFile); - aux.Reader = Factory.CreateComponentReader(version, Vehicle, componentNode, VerifyXML); + aux.Reader = Factory.CreateAuxiliariesReader(version, Vehicle, componentNode); return aux; } @@ -247,7 +263,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl string version, XmlNode componentNode, string sourcefile) { var components = Factory.CreateComponentData(version, Vehicle, componentNode, sourcefile); - components.ComponentReader = Factory.CreateComponentReader(version, Vehicle, componentNode, VerifyXML); + components.ComponentReader = Factory.CreateComponentReader(version, Vehicle, componentNode); return components; } } @@ -256,9 +272,20 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public class XMLComponentReaderV20 : XMLComponentReaderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + //public new const string XSD_TYPE = "VehicleComponentsType"; + public new const string AXLE_READER_TYPE = "AxleDataDeclarationType"; + + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public new static readonly string AXLES_READER_QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, AXLES_READER_TYPE); + public new static readonly string AXLE_READER_QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, AXLE_READER_TYPE); + public new static readonly string GEARBOX_READER_QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, GEARBOX_READER_TYPE); + public new static readonly string AUXILIARIES_READER_QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, AUX_READER_TYPE); + - public XMLComponentReaderV20(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode, bool verifyXML) : base( - vehicle, componentsNode, verifyXML) { } + public XMLComponentReaderV20(IXMLDeclarationVehicleData vehicle, XmlNode componentsNode) : base( + vehicle, componentsNode) { } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs index 75ab7c08f8dcd3a0f846f4b5075730da06423619..f01a6b7b3eca2628e48d8678fb729dab3e763574 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using Ninject; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; @@ -15,13 +16,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl protected IXMLDeclarationInputData InputData; protected IDeclarationJobInputData _jobData; - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "VectoDeclarationJobType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); [Inject] public IDeclarationInjectFactory Factory { protected get; set; } - public XMLDeclarationInputReaderV10(IXMLDeclarationInputData inputData, XmlNode baseNode, bool verifyXML) : base( - inputData, baseNode, verifyXML) + public XMLDeclarationInputReaderV10(IXMLDeclarationInputData inputData, XmlNode baseNode) : base( + inputData, baseNode) { JobNode = baseNode; InputData = inputData; @@ -39,8 +44,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl protected virtual IDeclarationJobInputData JobCreator(string version, XmlNode node, string arg3) { var job = Factory.CreateJobData(version, BaseNode, InputData, (InputData as IXMLResource).DataSource.SourceFile); - var jobNode = - job.Reader = Factory.CreateJobReader(version, job, JobNode, VerifyXML); + job.Reader = Factory.CreateJobReader(version, job, JobNode); return job; } } @@ -49,9 +53,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public class XMLDeclarationInputReaderV20 : XMLDeclarationInputReaderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + public new const string XSD_TYPE = "VectoDeclarationJobType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); - public XMLDeclarationInputReaderV20(IXMLDeclarationInputData inputData, XmlNode baseNode, bool verifyXML) : base(inputData, baseNode, verifyXML) { } + public XMLDeclarationInputReaderV20(IXMLDeclarationInputData inputData, XmlNode baseNode) : base(inputData, baseNode) { } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs index 72237ebc1d0aae063cd6f879d86daca18c47088f..e0c62e2470947c4571e5549b90b6f9813ca2a45c 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs @@ -1,5 +1,6 @@ using System; using System.Xml; +using System.Xml.Linq; using Ninject; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; @@ -11,7 +12,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl { public class XMLJobDataReaderV10 : AbstractComponentReader, IXMLJobDataReader { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "VectoDeclarationJobType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + protected IXMLDeclarationJobInputData JobData; protected XmlNode JobNode; @@ -20,8 +26,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl [Inject] public IDeclarationInjectFactory Factory { protected get; set; } - public XMLJobDataReaderV10(IXMLDeclarationJobInputData jobData, XmlNode jobNode, bool verifyXML) : base( - jobData, jobNode, verifyXML) + public XMLJobDataReaderV10(IXMLDeclarationJobInputData jobData, XmlNode jobNode) : base( + jobData, jobNode) { JobNode = jobNode; JobData = jobData; @@ -53,10 +59,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public class XMLJobDataReaderV20 : XMLJobDataReaderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + public new const string XSD_TYPE = "VectoDeclarationJobType"; - public XMLJobDataReaderV20(IXMLDeclarationJobInputData jobData, XmlNode jobNode, bool verifyXML) : base( - jobData, jobNode, verifyXML) { } + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + + public XMLJobDataReaderV20(IXMLDeclarationJobInputData jobData, XmlNode jobNode) : base( + jobData, jobNode) { } protected override IVehicleDeclarationInputData VehicleCreator(string version, XmlNode vehicleNode, string sourceFile) { @@ -74,10 +84,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public class XMLJobDataReaderV21 : XMLJobDataReaderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V21; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V21; + + public new const string XSD_TYPE = "VectoDeclarationJobType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); - public XMLJobDataReaderV21(IXMLDeclarationJobInputData jobData, XmlNode jobNode, bool verifyXML) : base( - jobData, jobNode, verifyXML) + public XMLJobDataReaderV21(IXMLDeclarationJobInputData jobData, XmlNode jobNode) : base( + jobData, jobNode) { } protected override IVehicleDeclarationInputData VehicleCreator(string version, XmlNode vehicleNode, string sourceFile) diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLPTOReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLPTOReader.cs index 17b0769c6a53f7ee882ac0f56c9cbce67de1ec78..0404f8ea4bc1a86e2dd579c6f7ae5cb5531a22f4 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLPTOReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLPTOReader.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using Ninject; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; @@ -10,7 +11,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl { public class XMLPTOReaderV10 : AbstractComponentReader, IXMLPTOReader { - public const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V10; + + public const string XSD_TYPE = "PTOType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); [Inject] public IDeclarationInjectFactory Factory { protected get; set; } @@ -19,8 +24,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl protected IPTOTransmissionInputData _ptoInputData; - public XMLPTOReaderV10(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, bool verifyXML) : base( - vehicle, componentNode, verifyXML) + public XMLPTOReaderV10(IXMLDeclarationVehicleData vehicle, XmlNode componentNode) : base( + vehicle, componentNode) { Vehicle = vehicle; } @@ -44,9 +49,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl public class XMLPTOReaderV20 : XMLPTOReaderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V20; + + //public new const string XSD_TYPE = "PTOType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); - public XMLPTOReaderV20(IXMLDeclarationVehicleData vehicle, XmlNode componentNode, bool verifyXML) : base( - vehicle, componentNode, verifyXML) { } + public XMLPTOReaderV20(IXMLDeclarationVehicleData vehicle, XmlNode componentNode) : base( + vehicle, componentNode) { } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/AbstractCommonComponentType.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/AbstractCommonComponentType.cs index d42a9161677745288fd9b64e2fed2a1309b57435..ee749443efaab0046f93150497dd370c2de2b096 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/AbstractCommonComponentType.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/AbstractCommonComponentType.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; @@ -25,7 +26,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider protected string SourceVersion { get { return XMLHelper.GetVersionFromNamespaceUri(SchemaNamespace); } } - protected abstract string SchemaNamespace { get;} + protected abstract XNamespace SchemaNamespace { get;} protected abstract DataSourceType SourceType { get; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLCyclesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLCyclesDataProvider.cs index fe1f09c759e4e1fefb2b50b167f58abda7ded732..ba0e6bb064260c6420bba08ce3eabb0b36fbf10e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLCyclesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLCyclesDataProvider.cs @@ -16,6 +16,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public const string XSD_TYPE = "MissionCyclesType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + protected string BasePath; public XMLCyclesDataProviderV07(IEngineeringJobInputData jobData, XmlNode baseNode, string basePath) : base(baseNode) @@ -72,6 +76,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new const string XSD_TYPE = "MissionCyclesType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLCyclesDataProviderV10(IEngineeringJobInputData jobData, XmlNode baseNode, string basePath) : base( jobData, baseNode, basePath) { } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLDriverAcceleration.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLDriverAcceleration.cs index 745275d958a3ec4b39a2c4a8e58f13777247ea14..f63c14dfd3a0985f5746eed46da7ad88b996763a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLDriverAcceleration.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLDriverAcceleration.cs @@ -12,6 +12,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public const string XSD_TYPE = "DriverAccelerationCurveEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + protected IXMLEngineeringDriverData DriverData; private IDriverAccelerationData _accelerationCurve; @@ -43,6 +48,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + //public new const string XSD_TYPE = "DriverAccelerationCurveType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + + public XMLDriverAccelerationV10(IXMLEngineeringDriverData driverData, XmlNode node) : base(driverData, node) { } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAirdragDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAirdragDataProvider.cs index 6164f9a7447c231c0ec6b4f6ecff64754be10aa8..c755a9d74f979bcbde1d76c22803533d5872239f 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAirdragDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAirdragDataProvider.cs @@ -30,6 +30,7 @@ */ using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; @@ -43,7 +44,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringAirdragDataProviderV07 : AbstractEngineeringXMLComponentDataProvider, IXMLAirdragData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "AirDragDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringAirdragDataProviderV07( IXMLEngineeringVehicleData vehicle, @@ -84,7 +90,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } @@ -93,12 +99,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringAirdragDataProviderV10 : XMLEngineeringAirdragDataProviderV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "AirDragComponentEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringAirdragDataProviderV10( IXMLEngineeringVehicleData vehicle, XmlNode axlegearNode, string fsBasePath) : base( vehicle, axlegearNode, fsBasePath) { } - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAngledriveDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAngledriveDataProvider.cs index c9150b435b742acf9262fde5fd311fab0ac0789f..2cabe625566336af19a4c7405f1659d85f4f6d3a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAngledriveDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAngledriveDataProvider.cs @@ -30,6 +30,7 @@ */ using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; @@ -42,7 +43,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringAngledriveDataProviderV07 : AbstractEngineeringXMLComponentDataProvider, IXMLAngledriveData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "AngledriveDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringAngledriveDataProviderV07( IXMLEngineeringVehicleData vehicle, @@ -79,7 +85,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } #endregion @@ -87,10 +93,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringAngledriveDataProviderV10 : XMLEngineeringAngledriveDataProviderV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "AngledriveComponentEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringAngledriveDataProviderV10( IXMLEngineeringVehicleData vehicle, XmlNode axlegearNode, string fsBasePath) : base( vehicle, axlegearNode, fsBasePath) { } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } + } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs index 26807fa2fa0ebece7e4d9ac493e138f02527cfb2..536469afde04460274a9c3a1b81ab05be6808634 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.IO; using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; @@ -15,12 +16,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { internal class XMLEngineeringAuxiliariesDataProviderV07 : AbstractXMLType, IXMLAuxiliairesData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "AuxiliariesDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringAuxiliariesDataProviderV07( IXMLEngineeringVehicleData vehicle, XmlNode componentNode, string sourceFile) : base(componentNode) { } - public IXMLComponentsReader Reader { protected get; set; } + public IXMLAuxiliaryReader Reader { protected get; set; } #region Implementation of IAuxiliariesEngineeringInputData @@ -34,7 +40,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider var retVal = new List<IAuxiliaryEngineeringInputData>(); foreach (XmlNode auxNode in auxNodes) { - retVal.Add(Reader.Create(auxNode)); + retVal.Add(Reader.CreateAuxiliary(auxNode)); } return retVal; @@ -63,6 +69,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new const string XSD_TYPE = "AuxiliariesComponentEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + public XMLEngineeringAuxiliariesDataProviderV10( IXMLEngineeringVehicleData vehicle, XmlNode componentNode, string sourceFile) : base( vehicle, componentNode, sourceFile) { } @@ -72,6 +83,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public const string XSD_TYPE = "AuxiliaryEntryEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + + protected string BasePath; protected AuxiliaryDataInputData AuxData; @@ -113,7 +130,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider AuxiliaryType = AuxiliaryDemandType.Constant, ConstantPowerDemand = childNode.InnerText.ToDouble().SI<Watt>(), DataSource = - new DataSource() { SourceType = DataSourceType.XMLEmbedded, SourceVersion = XMLHelper.GetVersionFromNamespaceUri(NAMESPACE_URI) } + new DataSource() { SourceType = DataSourceType.XMLEmbedded, SourceVersion = XMLHelper.GetVersionFromNamespaceUri(SchemaNamespace) } }; } @@ -135,10 +152,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider BaseNode.SelectNodes( XMLHelper.QueryLocalName(XMLNames.Auxiliaries_Auxiliary_AuxMap, XMLNames.Auxiliaries_Auxiliary_AuxMap_Entry))), DataSource = - new DataSource() { SourceType = DataSourceType.XMLEmbedded, SourceVersion = XMLHelper.GetVersionFromNamespaceUri(NAMESPACE_URI) } + new DataSource() { SourceType = DataSourceType.XMLEmbedded, SourceVersion = XMLHelper.GetVersionFromNamespaceUri(SchemaNamespace) } }; } + protected virtual XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } + #region Implementation of IAuxiliaryEngineeringInputData public virtual string ID @@ -186,8 +205,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLAuxiliaryEngineeringDataV10 : XMLAuxiliaryEngineeringDataV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "AuxiliaryEntryEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLAuxiliaryEngineeringDataV10(XmlNode node, string basePath) : base(node, basePath) { } + + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAxlegearDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAxlegearDataProvider.cs index feaa1e1d6e8f422e9d712120d64e232ee9a10d30..7c2cee4a7a8beb10bf09f7b6f7a161d4d47ff84c 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAxlegearDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAxlegearDataProvider.cs @@ -30,6 +30,7 @@ */ using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; @@ -42,7 +43,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { internal class XMLEngineeringAxlegearDataProviderV07 : AbstractEngineeringXMLComponentDataProvider, IXMLAxlegearData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "AxlegearDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringAxlegearDataProviderV07( IXMLEngineeringVehicleData vehicle, @@ -80,7 +86,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } #endregion @@ -89,7 +95,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringAxlegearDataProviderV10 : XMLEngineeringAxlegearDataProviderV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "AxlegearComponentEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + public XMLEngineeringAxlegearDataProviderV10( IXMLEngineeringVehicleData vehicle, @@ -104,6 +116,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider } } - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAxlesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAxlesDataProvider.cs index 3a93a8f0e2dfee09e5f8efae29cf01efcfb4cf25..cd5bd7423d90f7ce8b9b9e32c622eaa8799b06ab 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAxlesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAxlesDataProvider.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; @@ -14,7 +15,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringAxlesDataProviderV07 : AbstractEngineeringXMLComponentDataProvider, IXMLAxlesData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "AxleWheelsDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringAxlesDataProviderV07(IXMLEngineeringVehicleData vehicle, XmlNode baseNode, string source) : base(vehicle, baseNode, source) @@ -49,13 +55,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider } } - public IXMLComponentsReader Reader { protected get; set; } + public IXMLAxlesReader Reader { protected get; set; } #endregion #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } @@ -64,14 +70,20 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringAxlesDataProviderV10 : XMLEngineeringAxlesDataProviderV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "AxleWheelsComponentEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + public XMLEngineeringAxlesDataProviderV10(IXMLEngineeringVehicleData vehicle, XmlNode baseNode, string source) : base( vehicle, baseNode, source) { } #region Overrides of XMLEngineeringAxlesDataProviderV07 - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } #endregion } @@ -79,7 +91,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLAxleEngineeringDataV07 : AbstractEngineeringXMLComponentDataProvider, IXMLAxleEngineeringData, ITyreEngineeringInputData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "AxleDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); public XMLAxleEngineeringDataV07(XmlNode node, IXMLEngineeringVehicleData vehicle) : base( vehicle, node, (vehicle as IXMLResource).DataSource.SourcePath) @@ -154,11 +170,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #endregion - public IXMLComponentsReader Reader { protected get; set; } + public IXMLAxleReader Reader { protected get; set; } #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } @@ -167,7 +183,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLAxleEngineeringDataV10 : AbstractEngineeringXMLComponentDataProvider, IXMLAxleEngineeringData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public const string XSD_TYPE = "AxleDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); private ITyreEngineeringInputData _tyre; @@ -212,11 +232,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #endregion - public IXMLComponentsReader Reader { protected get; set; } + public IXMLAxleReader Reader { protected get; set; } #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } #endregion @@ -224,7 +244,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLAxleEngineeringDataV10TEST : XMLAxleEngineeringDataV10 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10_TEST; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10_TEST; + + //public new const string XSD_TYPE = "AxleDataEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); public XMLAxleEngineeringDataV10TEST(XmlNode node, IXMLEngineeringVehicleData vehicle) : base(node, vehicle) { } @@ -233,6 +257,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider get { return XmlConvert.ToBoolean(GetNode("TwinTires")?.InnerText ?? ""); } } - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverDataProvider.cs index 9bdf209ba2cb651987c47c9ea360f314891549f8..bae894933fa19709e81762803c2a9be3dd721657 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.Utils; @@ -7,7 +8,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { internal class XMLEngineeringDriverDataProviderV07 : AbstractCommonComponentType, IXMLEngineeringDriverData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "DriverModelType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); private ILookaheadCoastingInputData _lookahead; private IOverSpeedEcoRollEngineeringInputData _overspeed; @@ -46,7 +51,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } @@ -55,7 +60,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringDriverDataProviderV10 : XMLEngineeringDriverDataProviderV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "DriverModelEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); public XMLEngineeringDriverDataProviderV10( IXMLEngineeringInputData inputData, XmlNode driverDataNode, string fsBasePath) : base( @@ -63,7 +72,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of XMLEngineeringDriverDataProviderV07 - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } #endregion } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverLookAhead.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverLookAhead.cs index 5d1f8f5fe409f4c1593535effce45c70c7754e3e..4940e4b4a25eb3dd5e3a4b85f8120e8033bcf47c 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverLookAhead.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverLookAhead.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; @@ -11,7 +12,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { internal class XMLEngineeringDriverLookAheadV07 : AbstractXMLType, IXMLLookaheadData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "LookAheadCoastingEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + protected IXMLEngineeringDriverData DriverData; @@ -90,6 +96,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new const string XSD_TYPE = "LookAheadCoastingEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + public XMLEngineeringDriverLookAheadV10(IXMLEngineeringDriverData driverData, XmlNode node) : base(driverData, node) { } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringEngineDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringEngineDataProvider.cs index db24106aadf4f48230bbfa8cc88219b5279ca02e..2c1fb8e5a6bcd1f296f796d1306ecf522cffa38b 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringEngineDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringEngineDataProvider.cs @@ -30,6 +30,7 @@ */ using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; @@ -44,16 +45,24 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringEngineDataProviderV07 : AbstractEngineeringXMLComponentDataProvider, IXMLEngineData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "EngineDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); + public XMLEngineeringEngineDataProviderV07( IXMLEngineeringVehicleData vehicle, XmlNode vehicleNode, string fsBasePath) : base(vehicle, vehicleNode, fsBasePath) { - SourceType = (vehicle as IXMLResource).DataSource.SourceFile == fsBasePath ? DataSourceType.XMLEmbedded : DataSourceType.XMLFile; + SourceType = (vehicle as IXMLResource).DataSource.SourceFile == fsBasePath + ? DataSourceType.XMLEmbedded + : DataSourceType.XMLFile; } + public XMLEngineeringEngineDataProviderV07(XmlNode node, string sourceFile) : base(null, node, sourceFile) { } public virtual CubicMeter Displacement @@ -158,7 +167,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace + { + get { return NAMESPACE_URI; } + } protected override DataSourceType SourceType { get; } @@ -169,10 +181,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + //public new const string XSD_TYPE = "EngineDataEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringEngineDataProviderV10( XMLEngineeringVehicleDataProviderV07 vehicle, XmlNode vehicleNode, string fsBasePath) : base( vehicle, vehicleNode, fsBasePath) { } + // engine-only constructor public XMLEngineeringEngineDataProviderV10(XmlNode node, string sourceFile) : base(node, sourceFile) { } public override double WHTCEngineering @@ -184,7 +201,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of XMLEngineeringEngineDataProviderV07 - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace + { + get { return NAMESPACE_URI; } + } #endregion @@ -194,21 +214,31 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider // this class is just for testing reading derived XML datatypes internal class XMLEngineeringEngineDataProviderV10TEST : XMLEngineeringEngineDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10_TEST; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10_TEST; - public XMLEngineeringEngineDataProviderV10TEST(XMLEngineeringVehicleDataProviderV07 vehicle, XmlNode vehicleNode, string fsBasePath) : base(vehicle, vehicleNode, fsBasePath) { } + public new const string XSD_TYPE = "EngineDataEngineeringType"; + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + public XMLEngineeringEngineDataProviderV10TEST( + XMLEngineeringVehicleDataProviderV07 vehicle, XmlNode vehicleNode, string fsBasePath) : base( + vehicle, vehicleNode, fsBasePath) { } + + // engine-only constructor public XMLEngineeringEngineDataProviderV10TEST(XmlNode node, string sourceFile) : base(node, sourceFile) { } #region Overrides of XMLEngineeringEngineDataProviderV07 - public override PerSecond RatedSpeedDeclared { get { - return GetString(XMLNames.Engine_RatedSpeed).Replace("rpm", "").ToDouble(0).RPMtoRad(); - } } + public override PerSecond RatedSpeedDeclared + { + get { return GetString(XMLNames.Engine_RatedSpeed).Replace("rpm", "").ToDouble(0).RPMtoRad(); } + } - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace + { + get { return NAMESPACE_URI; } + } #endregion } - } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs index 64ef5f418defabac2972801bd86951ba8ec9d2ef..d80f90636cabc0c32e91b4f0731ee9851797dd0d 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs @@ -31,6 +31,7 @@ using System.Collections.Generic; using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; @@ -45,9 +46,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringGearboxDataProviderV07 : AbstractEngineeringXMLComponentDataProvider, IXMLGearboxData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "GearboxDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); - private ITorqueConverterEngineeringInputData _torqueConverter; public XMLEngineeringGearboxDataProviderV07( IXMLEngineeringVehicleData vehicle, @@ -100,21 +104,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider } - ITorqueConverterDeclarationInputData IGearboxDeclarationInputData.TorqueConverter - { - get { return TorqueConverter; } - } - - public ITorqueConverterEngineeringInputData TorqueConverter - { - get { return _torqueConverter ?? (_torqueConverter = Reader.TorqueConverter); } - } - - public IXMLComponentsReader Reader { protected get; set; } + public IXMLGearboxReader Reader { protected get; set; } #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } #endregion @@ -125,6 +119,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + //public new const string XSD_TYPE = "GearboxComponentEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + public XMLEngineeringGearboxDataProviderV10( IXMLEngineeringVehicleData vehicle, XmlNode axlegearNode, string fsBasePath) : base( vehicle, axlegearNode, fsBasePath) { } @@ -136,7 +135,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider get { return GetNode(XMLNames.DriverModel_ShiftStrategyParameters_PowershiftShiftTime, required: false)?.InnerText.ToDouble().SI<Second>() ?? Constants.DefaultPowerShiftTime; } } - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } #endregion } @@ -145,6 +144,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { protected string BasePath; + protected DataSource _dataSource; + public XMLAbstractGearData(XmlNode node, string basePath) : base(node) { BasePath = basePath; @@ -182,12 +183,24 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider ?.InnerText.ToDouble() ?? double.NaN; } } + + public virtual DataSource DataSource + { + get { return _dataSource ?? (_dataSource = new DataSource() { SourceFile = BasePath, SourceType = DataSourceType.XMLEmbedded, SourceVersion = XMLHelper.GetVersionFromNamespaceUri(SchemaNamespace) }); } + } + + protected abstract XNamespace SchemaNamespace { get; } } internal class XMLGearDataV07 : XMLAbstractGearData, IXMLGearData { - protected DataSource _dataSource; - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "GearEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLGearDataV07(XmlNode gearNode, string basePath) : base(gearNode, basePath) { } @@ -215,24 +228,26 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider } } - public virtual DataSource DataSource - { - get { return _dataSource ?? (_dataSource = new DataSource() {SourceFile = BasePath, SourceType = DataSourceType.XMLEmbedded, SourceVersion = XMLHelper.GetVersionFromNamespaceUri(NAMESPACE_URI) }); } - } #endregion + + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } + } internal class XMLGearDataV10 : XMLGearDataV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "GearEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLGearDataV10(XmlNode gearNode, string basePath) : base(gearNode, basePath) { } - public override DataSource DataSource - { - get { return _dataSource ?? (_dataSource = new DataSource() { SourceFile = BasePath, SourceType = DataSourceType.XMLEmbedded, SourceVersion = XMLHelper.GetVersionFromNamespaceUri(NAMESPACE_URI) }); } - } + + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearshiftData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearshiftData.cs index 0b40d588f2bf963d2e5bc4d2cd7e4eacd75bec51..fd86b99ac0af4870dba53e7ba7718b5cc6fb0b89 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearshiftData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearshiftData.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; @@ -9,7 +10,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { internal class XMLEngineeringGearshiftDataV07 : AbstractXMLType, IXMLEngineeringGearshiftData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "ShiftStrategyParametersEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); public XMLEngineeringGearshiftDataV07(XmlNode node) : base(node) { } @@ -121,7 +126,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringGearshiftDataV10 : XMLEngineeringGearshiftDataV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + //public new const string XSD_TYPE = "ShiftStrategyParametersType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); public XMLEngineeringGearshiftDataV10(XmlNode node) : base(node) { } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringInputDataProvider.cs index 81fdff48f69a11c3d9095e23821e6612739f676c..3eff4a17004f4b09e23591100fc2a8197d367490 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringInputDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringInputDataProvider.cs @@ -1,5 +1,6 @@ using System; using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; @@ -10,7 +11,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { internal class XMLEngineeringInputDataProviderV07 : AbstractXMLResource, IXMLEngineeringInputData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "VectoJobEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); internal XmlDocument Document; @@ -54,7 +59,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } #endregion @@ -62,11 +67,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringInputDataProviderV10 : XMLEngineeringInputDataProviderV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "VectoJobEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringInputDataProviderV10(XmlDocument xmldoc, string fileName) : base(xmldoc, fileName) { } - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringJobInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringJobInputDataProvider.cs index 22f15638a13ca1ae77c5e2ce54c0696ebe42ea20..fb6bf6d176307332ed0a6af863baf2e693e7dfed 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringJobInputDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringJobInputDataProvider.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.IO; using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; @@ -10,7 +11,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { internal class XMLEngineeringJobInputDataProviderV07 : AbstractXMLResource, IXMLEngineeringJobInputData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "VectoJobEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); protected string FileName; protected IXMLEngineeringInputData InputProvider; @@ -83,7 +88,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } #endregion @@ -92,14 +97,19 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringJobInputDataProviderV10 : XMLEngineeringJobInputDataProviderV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_INPUT_NAMESPACE_URI_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "VectoJobEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringJobInputDataProviderV10(XmlNode node, IXMLEngineeringInputData inputProvider, string fileName) : base(node, inputProvider, fileName) { } #region Overrides of XMLEngineeringJobInputDataProviderV07 - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } #endregion } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs index 6b29a3949cb17dfb3821fb8e439a0025afaf4e37..49e444c0475befc86fd0f28830eaa8ad29e26a4a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; @@ -9,7 +10,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { internal class XMLEngineeringOverspeedV07 : AbstractXMLType, IXMLOverspeedData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "OverspeedEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + protected IXMLEngineeringDriverData DriverData; @@ -51,7 +57,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringOverspeedV10 : XMLEngineeringOverspeedV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "OverspeedEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + public XMLEngineeringOverspeedV10(IXMLEngineeringDriverData driverData, XmlNode node) : base(driverData, node) { } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringRetarderDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringRetarderDataProvider.cs index 65aa4c7eac0c42e20969245c527b78713fa397ab..93ff4a10d4ded863f643685601a93b3d24be5ac0 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringRetarderDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringRetarderDataProvider.cs @@ -30,6 +30,7 @@ */ using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; @@ -41,7 +42,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { internal class XMLEngineeringRetarderDataProviderV07 : AbstractEngineeringXMLComponentDataProvider, IXMLRetarderData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "RetarderDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringRetarderDataProviderV07( IXMLEngineeringVehicleData vehicle, @@ -72,7 +78,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } #endregion @@ -80,7 +86,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringRetarderDataProviderV10 : XMLEngineeringRetarderDataProviderV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "RetarderComponentEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringRetarderDataProviderV10( IXMLEngineeringVehicleData vehicle, XmlNode axlegearNode, string fsBasePath) : base( @@ -88,7 +99,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of XMLEngineeringRetarderDataProviderV07 - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } #endregion } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringTorqueConverterDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringTorqueConverterDataProvider.cs index 343e10ac73ac61c30aa2d8bb15fbeb5091a80284..3da7faf7b52536a8d66d3ab98c078db21ae395f5 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringTorqueConverterDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringTorqueConverterDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; @@ -13,7 +14,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Impl internal class XMLEngineeringTorqueConverterDataProviderV07 : AbstractEngineeringXMLComponentDataProvider, IXMLTorqueconverterData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + + public const string XSD_TYPE = "TorqueConverterDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringTorqueConverterDataProviderV07( IXMLEngineeringVehicleData vehicle, XmlNode node, string source) : base(vehicle, node, source) @@ -70,7 +76,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Impl #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } #endregion @@ -78,14 +84,19 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Impl internal class XMLEngineeringTorqueConverterDataProviderV10 : XMLEngineeringTorqueConverterDataProviderV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "TorqueConverterComponentEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringTorqueConverterDataProviderV10(IXMLEngineeringVehicleData vehicle, XmlNode node, string source) : base(vehicle, node, source) { } #region Overrides of XMLEngineeringTorqueConverterDataProviderV07 - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } #endregion } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleComponentsDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleComponentsDataProvider.cs index e0235dfc063f02f99607f18fe9e2c9fa841c08f8..8e147c2990fe4acaf1982b602755b5be4865e9bb 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleComponentsDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleComponentsDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.Utils; @@ -7,16 +8,21 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { internal class XMLEngineeringVehicleComponentsDataProviderV07 : AbstractEngineeringXMLComponentDataProvider, IXMLEngineeringVehicleComponentsData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; - private IAirdragEngineeringInputData _airdragInputData; - private IGearboxEngineeringInputData _gearboxInputData; - private IAxleGearInputData _axleGearInputData; - private IAngledriveInputData _angledriveInputData; - private IEngineEngineeringInputData _engineInputData; - private IRetarderInputData _retarderInputData; - private IAuxiliariesEngineeringInputData _auxInputData; - private IAxlesEngineeringInputData _axleWheels; + public const string XSD_TYPE = "VehicleComponentsType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + protected IAirdragEngineeringInputData _airdragInputData; + protected IGearboxEngineeringInputData _gearboxInputData; + protected IAxleGearInputData _axleGearInputData; + protected IAngledriveInputData _angledriveInputData; + protected IEngineEngineeringInputData _engineInputData; + protected IRetarderInputData _retarderInputData; + protected IAuxiliariesEngineeringInputData _auxInputData; + protected IAxlesEngineeringInputData _axleWheels; + protected ITorqueConverterEngineeringInputData _torqueConverterInputData; public XMLEngineeringVehicleComponentsDataProviderV07( IXMLEngineeringVehicleData vehicle, XmlNode baseNode, string source) : base(vehicle, baseNode, source) @@ -33,7 +39,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider public IXMLComponentsReader ComponentReader { protected get; set; } - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } @@ -48,7 +54,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider } public virtual ITorqueConverterEngineeringInputData TorqueConverterInputData { - get { return GearboxInputData.TorqueConverter; } + get { return _torqueConverterInputData ?? (_torqueConverterInputData = ComponentReader.TorqueConverter); } } public virtual IAxleGearInputData AxleGearInputData @@ -94,11 +100,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringVehicleComponentsDataProviderV10 : XMLEngineeringVehicleComponentsDataProviderV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public new const string XSD_TYPE = "VehicleComponentsType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); public XMLEngineeringVehicleComponentsDataProviderV10(IXMLEngineeringVehicleData vehicle, XmlNode baseNode, string source) : base(vehicle, baseNode, source) { } - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs index 4782e983ae3c253b5bc4a40eeded7bb37ecbb1d9..a692b12eef6b5e7e65bbca69863d3a07f462e632 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Xml; +using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; @@ -13,13 +14,18 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { internal class XMLEngineeringVehicleDataProviderV07 : AbstractVehicleEngineeringType, IXMLEngineeringVehicleData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; - public IXMLComponentsReader ComponentReader { protected get; set; } + public const string XSD_TYPE = "VehicleEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); - private IVehicleComponentsEngineering _components; + private IVehicleComponentsEngineering _components; + protected XmlElement _componentNode; + + public XMLEngineeringVehicleDataProviderV07( IXMLEngineeringJobInputData jobProvider, XmlNode vehicleNode, string fullFilename) : base(vehicleNode, fullFilename) @@ -28,6 +34,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider SourceType = jobProvider.DataSource.SourceFile == fullFilename ? DataSourceType.XMLEmbedded : DataSourceType.XMLFile; } + public IXMLComponentsReader ComponentReader { protected get; set; } + + public virtual XmlElement ComponentNode + { + get { return _componentNode ?? (_componentNode = GetNode(XMLNames.Vehicle_Components) as XmlElement); } + } + #region Implementation of IComponentInputData public override CertificationMethod CertificationMethod @@ -273,7 +286,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } @@ -286,7 +299,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLEngineeringVehicleDataProviderV10 : XMLEngineeringVehicleDataProviderV07 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + //public new const string XSD_TYPE = "VehicleEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); public XMLEngineeringVehicleDataProviderV10( IXMLEngineeringJobInputData jobProvider, XmlNode vehicleNode, string fullFilename) : base( @@ -294,7 +311,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of XMLEngineeringVehicleDataProviderV07 - protected override string SchemaNamespace + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLTyreEngineeringDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLTyreEngineeringDataProvider.cs index 58cdedf66e5826dbe2199c30f0d0708869e42adc..bb98dc06d3592df44e9df1cd9f9ed1bb6b4430f5 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLTyreEngineeringDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLTyreEngineeringDataProvider.cs @@ -1,4 +1,5 @@ using System.Xml; +using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; @@ -9,7 +10,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { internal class XMLTyreEngineeringDataProviderV10 : AbstractEngineeringXMLComponentDataProvider, IXMLTyreData { - public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + + public const string XSD_TYPE = "TyreDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLTyreEngineeringDataProviderV10(IXMLEngineeringVehicleData vehicle, XmlNode baseNode, string source) : base(vehicle, baseNode, source) @@ -54,7 +60,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider #region Overrides of AbstractXMLResource - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } protected override DataSourceType SourceType { get; } @@ -63,10 +69,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider internal class XMLTyreEngineeringDataProviderV10TEST : XMLTyreEngineeringDataProviderV10 { - public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10_TEST; + public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10_TEST; + + public new const string XSD_TYPE = "TyreDataEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLTyreEngineeringDataProviderV10TEST(IXMLEngineeringVehicleData vehicle, XmlNode baseNode, string source) : base(vehicle, baseNode, source) { } - protected override string SchemaNamespace { get { return NAMESPACE_URI; } } + protected override XNamespace SchemaNamespace { get { return NAMESPACE_URI; } } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Factory/IEngineeringReaderInjectFactory.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Factory/IEngineeringReaderInjectFactory.cs index b8a952b600f73641607c974d22b216bb7432365d..feb18caf6ea00437a25151d80347a7cf74ebbf9b 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Factory/IEngineeringReaderInjectFactory.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Factory/IEngineeringReaderInjectFactory.cs @@ -9,17 +9,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Factory IXMLEngineeringInputData CreateInputProvider(string version, XmlDocument xmldoc, string fileName); IXMLEngineeringInputReader CreateInputReader( - string version, IXMLEngineeringInputData inputData, XmlNode documentElement, bool verifyXml); + string version, IXMLEngineeringInputData inputData, XmlNode documentElement); IXMLJobDataReader CreateJobReader( - string version, IXMLEngineeringJobInputData jobData, XmlNode jobNode, bool verifyXML); + string version, IXMLEngineeringJobInputData jobData, XmlNode jobNode); - IXMLDriverDataReader CreateDriverReader(string version, IXMLEngineeringDriverData driverData, XmlNode driverDataNode, bool verifyXML); + IXMLDriverDataReader CreateDriverReader(string version, IXMLEngineeringDriverData driverData, XmlNode driverDataNode); - IXMLComponentsReader CreateComponentReader(string version, IXMLEngineeringVehicleData vehicle, XmlNode componentsNode, bool verifyXML); + IXMLComponentsReader CreateComponentReader(string version, IXMLEngineeringVehicleData vehicle, XmlNode componentsNode); - IXMLComponentsReader CreateAxleReader(string version, IXMLEngineeringVehicleData vehicle, XmlNode componentsNode, bool verifyXML); + IXMLAxleReader CreateAxleReader(string version, IXMLEngineeringVehicleData vehicle, XmlNode componentsNode); IXMLEngineeringJobInputData CreateJobData(string version, XmlNode node, IXMLEngineeringInputData inputProvider, string fileName); @@ -73,5 +73,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Factory IXMLDriverAcceleration CreateAccelerationCurveData(string version, IXMLEngineeringDriverData driverData, XmlNode node); IXMLEngineeringVehicleComponentsData CreateComponentData(string version, IXMLEngineeringVehicleData vehicle, XmlNode baseNode, string source); + IXMLAuxiliaryReader CreatAuxiliariesReader(string version, IXMLEngineeringVehicleData vehicle, XmlNode componentsNode); + IXMLAxlesReader CreateAxlesReader(string version, IXMLEngineeringVehicleData vehicle, XmlNode componentsNode); + IXMLGearboxReader CreateGearboxReader(string version, IXMLEngineeringVehicleData vehicle, XmlNode componentsNode); } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLAuxiliairesData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLAuxiliairesData.cs index 81cd5beb87fbde1abca60ba3dec3035a50133002..11c72f47cf40e3b854d49df2f92f57b5b8a699ef 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLAuxiliairesData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLAuxiliairesData.cs @@ -4,6 +4,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces { public interface IXMLAuxiliairesData : IAuxiliariesEngineeringInputData { - IXMLComponentsReader Reader { set; } + IXMLAuxiliaryReader Reader { set; } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLAxleEngineeringData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLAxleEngineeringData.cs index e94c84b2fc31a7348ab9cf5a420a019c582c4be1..d3f4c8716a50ae03ebd336375638d721f473610e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLAxleEngineeringData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLAxleEngineeringData.cs @@ -4,6 +4,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces { public interface IXMLAxleEngineeringData : IAxleEngineeringInputData, IXMLResource { - IXMLComponentsReader Reader { set; } + IXMLAxleReader Reader { set; } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLAxlesData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLAxlesData.cs index 1f66928edbe215ac558da23dfbcf19f00b6ce544..1c0b78490b65d32a2495c028471e92f99ea53b00 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLAxlesData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLAxlesData.cs @@ -4,6 +4,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces { public interface IXMLAxlesData : IAxlesEngineeringInputData { - IXMLComponentsReader Reader { set; } + IXMLAxlesReader Reader { set; } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLEngineeringVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLEngineeringVehicleData.cs index af56267af86f15b44a3d443461470ffd8bb7e739..64ee511974feb36ffdf1218e2eb683909da59403 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLEngineeringVehicleData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLEngineeringVehicleData.cs @@ -1,3 +1,4 @@ +using System.Xml; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; @@ -7,6 +8,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces { IXMLComponentsReader ComponentReader { set; } + XmlElement ComponentNode { get; } + AngledriveType AngledriveType { get; } RetarderType RetarderType { get; } @@ -14,5 +17,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces double RetarderRatio { get; } IXMLEngineeringJobInputData Job { get; } + } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLGearboxData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLGearboxData.cs index 6a6e30593cc287adeed06e69095a02162f77df1c..5d1c3501d18d3cce502279c1bc95a0ad8f0a5803 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLGearboxData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Interfaces/IXMLGearboxData.cs @@ -4,6 +4,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces { public interface IXMLGearboxData : IGearboxEngineeringInputData { - IXMLComponentsReader Reader { set; } + IXMLGearboxReader Reader { set; } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderTestOverrides.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderTestOverrides.cs index db3c32669144a3b4be6cf235714665192a07b7aa..afbe4b16774b83fea72ba6703ab4975bf5216985 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderTestOverrides.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderTestOverrides.cs @@ -14,13 +14,23 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.NinjectModules { // testing derived xml data types Bind<IXMLEngineData>().To<XMLEngineeringEngineDataProviderV10TEST>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringEngineDataProviderV10TEST.NAMESPACE_URI)); - Bind<IXMLTyreData>().To<XMLTyreEngineeringDataProviderV10TEST>().Named(XMLHelper.GetVersionFromNamespaceUri(XMLTyreEngineeringDataProviderV10TEST.NAMESPACE_URI)); + .Named(XMLEngineeringEngineDataProviderV10TEST.QUALIFIED_XSD_TYPE); + Bind<IXMLTyreData>().To<XMLTyreEngineeringDataProviderV10TEST>().Named(XMLTyreEngineeringDataProviderV10TEST.QUALIFIED_XSD_TYPE); Bind<IXMLAxleEngineeringData>().To<XMLAxleEngineeringDataV10TEST>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLAxleEngineeringDataV10TEST.NAMESPACE_URI)); + .Named(XMLAxleEngineeringDataV10TEST.QUALIFIED_XSD_TYPE); Bind<IXMLComponentsReader>().To<XMLComponentsEngineeringReaderV10TEST>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLComponentsEngineeringReaderV10TEST.NAMESPACE_URI)); + .Named(XMLComponentsEngineeringReaderV10TEST.QUALIFIED_XSD_TYPE_COMPONENTS); + + Bind<IXMLAxlesReader>().To<XMLComponentsEngineeringReaderV10TEST>() + .Named(XMLComponentsEngineeringReaderV10TEST.QUALIFIED_XSD_TYPE_AXLES); + Bind<IXMLAxleReader>().To<XMLComponentsEngineeringReaderV10TEST>() + .Named(XMLComponentsEngineeringReaderV10TEST.QUALIFIED_XSD_TYPE_AXLE); + Bind<IXMLGearboxReader>().To<XMLComponentsEngineeringReaderV10TEST>() + .Named(XMLComponentsEngineeringReaderV10TEST.QUALIFIED_XSD_TYPE_GEARBOX); + Bind<IXMLAuxiliaryReader>().To<XMLComponentsEngineeringReaderV10TEST>() + .Named(XMLComponentsEngineeringReaderV10TEST.QUALIFIED_XSD_TYPE_AUXILIARY); + } #endregion diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV07InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV07InjectModule.cs index 6f7b3c8c1f88b07054a424b2eb91f90be526580b..4a6e71a11b549424216d632704d365e792394a12 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV07InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV07InjectModule.cs @@ -14,69 +14,79 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.NinjectModules public override void Load() { Bind<IXMLEngineeringInputData>().To<XMLEngineeringInputDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringInputDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringInputDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLEngineeringInputReader>().To<XMLEngineeringInputReaderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringInputReaderV07.NAMESPACE_URI)); + .Named(XMLEngineeringInputReaderV07.QUALIFIED_XSD_TYPE); Bind<IXMLEngineeringJobInputData>().To<XMLEngineeringJobInputDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringJobInputDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringJobInputDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLJobDataReader>().To<XMLJobDataReaderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLJobDataReaderV07.NAMESPACE_URI)); + .Named(XMLJobDataReaderV07.QUALIFIED_XSD_TYPE); Bind<IXMLEngineeringDriverData>().To<XMLEngineeringDriverDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringDriverDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringDriverDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLDriverDataReader>().To<XMLDriverDataReaderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLDriverDataReaderV07.NAMESPACE_URI)); + .Named(XMLDriverDataReaderV07.QUALIFIED_XSD_TYPE); Bind<IXMLEngineeringGearshiftData>().To<XMLEngineeringGearshiftDataV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringGearshiftDataV07.NAMESPACE_URI)); + .Named(XMLEngineeringGearshiftDataV07.QUALIFIED_XSD_TYPE); Bind<IXMLCyclesDataProvider>().To<XMLCyclesDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLCyclesDataProviderV07.NAMESPACE_URI)); + .Named(XMLCyclesDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLEngineeringVehicleData>().To<XMLEngineeringVehicleDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringVehicleDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringVehicleDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLComponentsReader>().To<XMLComponentsEngineeringReaderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLComponentsEngineeringReaderV07.NAMESPACE_URI)); + .Named(XMLComponentsEngineeringReaderV07.QUALIFIED_XSD_TYPE_COMPONENTS); + + Bind<IXMLAxlesReader>().To<XMLComponentsEngineeringReaderV07>() + .Named(XMLComponentsEngineeringReaderV07.QUALIFIED_XSD_TYPE_AXLES); + Bind<IXMLAxleReader>().To<XMLComponentsEngineeringReaderV07>() + .Named(XMLComponentsEngineeringReaderV07.QUALIFIED_XSD_TYPE_AXLE); + Bind<IXMLGearboxReader>().To<XMLComponentsEngineeringReaderV07>() + .Named(XMLComponentsEngineeringReaderV07.QUALIFIED_XSD_TYPE_GEARBOX); + Bind<IXMLAuxiliaryReader>().To<XMLComponentsEngineeringReaderV07>() + .Named(XMLComponentsEngineeringReaderV07.QUALIFIED_XSD_TYPE_AUXILIARY); + Bind<IXMLEngineeringVehicleComponentsData>().To<XMLEngineeringVehicleComponentsDataProviderV07>() .Named( - XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringVehicleComponentsDataProviderV07.NAMESPACE_URI)); + XMLEngineeringVehicleComponentsDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLAxleEngineeringData>().To<XMLAxleEngineeringDataV07>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLAxleEngineeringDataV07.NAMESPACE_URI)); - Bind<IXMLGearData>().To<XMLGearDataV07>().Named(XMLHelper.GetVersionFromNamespaceUri(XMLGearDataV07.NAMESPACE_URI)); + XMLAxleEngineeringDataV07.QUALIFIED_XSD_TYPE); + Bind<IXMLGearData>().To<XMLGearDataV07>().Named(XMLGearDataV07.QUALIFIED_XSD_TYPE); Bind<IXMLAuxiliaryData>().To<XMLAuxiliaryEngineeringDataV07>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLAuxiliaryEngineeringDataV07.NAMESPACE_URI)); + XMLAuxiliaryEngineeringDataV07.QUALIFIED_XSD_TYPE); Bind<IXMLAxlegearData>().To<XMLEngineeringAxlegearDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringAxlegearDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringAxlegearDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLAngledriveData>().To<XMLEngineeringAngledriveDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringAngledriveDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringAngledriveDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLEngineData>().To<XMLEngineeringEngineDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringEngineDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringEngineDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLRetarderData>().To<XMLEngineeringRetarderDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringRetarderDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringRetarderDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLAuxiliairesData>().To<XMLEngineeringAuxiliariesDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringAuxiliariesDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringAuxiliariesDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLGearboxData>().To<XMLEngineeringGearboxDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringGearboxDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringGearboxDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLAirdragData>().To<XMLEngineeringAirdragDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringAirdragDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringAirdragDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLTorqueconverterData>().To<XMLEngineeringTorqueConverterDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringTorqueConverterDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringTorqueConverterDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLAxlesData>().To<XMLEngineeringAxlesDataProviderV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringAxlesDataProviderV07.NAMESPACE_URI)); + .Named(XMLEngineeringAxlesDataProviderV07.QUALIFIED_XSD_TYPE); Bind<IXMLLookaheadData>().To<XMLEngineeringDriverLookAheadV07>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringDriverLookAheadV07.NAMESPACE_URI)); + XMLEngineeringDriverLookAheadV07.QUALIFIED_XSD_TYPE); Bind<IXMLOverspeedData>().To<XMLEngineeringOverspeedV07>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringOverspeedV07.NAMESPACE_URI)); + XMLEngineeringOverspeedV07.QUALIFIED_XSD_TYPE); Bind<IXMLDriverAcceleration>().To<XMLDriverAccelerationV07>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLDriverAccelerationV07.NAMESPACE_URI)); + .Named(XMLDriverAccelerationV07.QUALIFIED_XSD_TYPE); } #endregion diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV10InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV10InjectModule.cs index 42065f596c4d3748651b37cd39cbcf080bffb272..1e3fb9010bb82741bd06513b162ec367eba92bef 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV10InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV10InjectModule.cs @@ -14,71 +14,80 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.NinjectModules public override void Load() { Bind<IXMLEngineeringInputData>().To<XMLEngineeringInputDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringInputDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringInputDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLEngineeringInputReader>().To<XMLEngineeringInputReaderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringInputReaderV10.NAMESPACE_URI)); + .Named(XMLEngineeringInputReaderV10.QUALIFIED_XSD_TYPE); Bind<IXMLEngineeringJobInputData>().To<XMLEngineeringJobInputDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringJobInputDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringJobInputDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLJobDataReader>().To<XMLJobDataReaderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLJobDataReaderV10.NAMESPACE_URI)); + .Named(XMLJobDataReaderV10.QUALIFIED_XSD_TYPE); Bind<IXMLEngineeringDriverData>().To<XMLEngineeringDriverDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringDriverDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringDriverDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLDriverDataReader>().To<XMLDriverDataReaderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLDriverDataReaderV10.NAMESPACE_URI)); + .Named(XMLDriverDataReaderV10.QUALIFIED_XSD_TYPE); Bind<IXMLEngineeringGearshiftData>().To<XMLEngineeringGearshiftDataV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringGearshiftDataV10.NAMESPACE_URI)); + .Named(XMLEngineeringGearshiftDataV10.QUALIFIED_XSD_TYPE); Bind<IXMLCyclesDataProvider>().To<XMLCyclesDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLCyclesDataProviderV10.NAMESPACE_URI)); + .Named(XMLCyclesDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLEngineeringVehicleData>().To<XMLEngineeringVehicleDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringVehicleDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringVehicleDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLComponentsReader>().To<XMLComponentsEngineeringReaderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLComponentsEngineeringReaderV10.NAMESPACE_URI)); + .Named(XMLComponentsEngineeringReaderV10.QUALIFIED_XSD_TYPE_COMPONENTS); + Bind<IXMLAxlesReader>().To<XMLComponentsEngineeringReaderV10>() + .Named(XMLComponentsEngineeringReaderV10.QUALIFIED_XSD_TYPE_AXLES); + Bind<IXMLAxleReader>().To<XMLComponentsEngineeringReaderV10>() + .Named(XMLComponentsEngineeringReaderV10.QUALIFIED_XSD_TYPE_AXLE); + Bind<IXMLGearboxReader>().To<XMLComponentsEngineeringReaderV10>() + .Named(XMLComponentsEngineeringReaderV10.QUALIFIED_XSD_TYPE_GEARBOX); + Bind<IXMLAuxiliaryReader>().To<XMLComponentsEngineeringReaderV10>() + .Named(XMLComponentsEngineeringReaderV10.QUALIFIED_XSD_TYPE_AUXILIARY); + Bind<IXMLEngineeringVehicleComponentsData>().To<XMLEngineeringVehicleComponentsDataProviderV10>() .Named( - XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringVehicleComponentsDataProviderV10.NAMESPACE_URI)); + XMLEngineeringVehicleComponentsDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAxleEngineeringData>().To<XMLAxleEngineeringDataV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLAxleEngineeringDataV10.NAMESPACE_URI)); - Bind<IXMLGearData>().To<XMLGearDataV10>().Named(XMLHelper.GetVersionFromNamespaceUri(XMLGearDataV10.NAMESPACE_URI)); + XMLAxleEngineeringDataV10.QUALIFIED_XSD_TYPE); + Bind<IXMLGearData>().To<XMLGearDataV10>().Named(XMLGearDataV10.QUALIFIED_XSD_TYPE); Bind<IXMLAuxiliaryData>().To<XMLAuxiliaryEngineeringDataV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLAuxiliaryEngineeringDataV10.NAMESPACE_URI)); + XMLAuxiliaryEngineeringDataV10.QUALIFIED_XSD_TYPE); Bind<IXMLAxlegearData>().To<XMLEngineeringAxlegearDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringAxlegearDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringAxlegearDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAngledriveData>().To<XMLEngineeringAngledriveDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringAngledriveDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringAngledriveDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLEngineData>().To<XMLEngineeringEngineDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringEngineDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringEngineDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLRetarderData>().To<XMLEngineeringRetarderDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringRetarderDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringRetarderDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAuxiliairesData>().To<XMLEngineeringAuxiliariesDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringAuxiliariesDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringAuxiliariesDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLGearboxData>().To<XMLEngineeringGearboxDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringGearboxDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringGearboxDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAirdragData>().To<XMLEngineeringAirdragDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringAirdragDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringAirdragDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLTorqueconverterData>().To<XMLEngineeringTorqueConverterDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringTorqueConverterDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringTorqueConverterDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLAxlesData>().To<XMLEngineeringAxlesDataProviderV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringAxlesDataProviderV10.NAMESPACE_URI)); + .Named(XMLEngineeringAxlesDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLTyreData>().To<XMLTyreEngineeringDataProviderV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLTyreEngineeringDataProviderV10.NAMESPACE_URI)); + XMLTyreEngineeringDataProviderV10.QUALIFIED_XSD_TYPE); Bind<IXMLLookaheadData>().To<XMLEngineeringDriverLookAheadV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringDriverLookAheadV10.NAMESPACE_URI)); + XMLEngineeringDriverLookAheadV10.QUALIFIED_XSD_TYPE); Bind<IXMLOverspeedData>().To<XMLEngineeringOverspeedV10>().Named( - XMLHelper.GetVersionFromNamespaceUri(XMLEngineeringOverspeedV10.NAMESPACE_URI)); + XMLEngineeringOverspeedV10.QUALIFIED_XSD_TYPE); Bind<IXMLDriverAcceleration>().To<XMLDriverAccelerationV10>() - .Named(XMLHelper.GetVersionFromNamespaceUri(XMLDriverAccelerationV10.NAMESPACE_URI)); + .Named(XMLDriverAccelerationV10.QUALIFIED_XSD_TYPE); } #endregion diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/IXMLComponentsReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/IXMLComponentsReader.cs index 436f10e5081ba44c5b51405c4eb1365c5389e08a..ae8e382d6b1321e77127cde172a25b5d3543dc61 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/IXMLComponentsReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/IXMLComponentsReader.cs @@ -5,6 +5,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering { public interface IXMLComponentsReader { + IVehicleComponentsEngineering ComponentInputData { get; } + IAxleGearInputData AxleGearInputData { get; } IAngledriveInputData AngularGearInputData { get; } @@ -25,14 +27,25 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering IAxlesEngineeringInputData AxlesEngineeringInputData { get; } - ITyreEngineeringInputData Tyre { get; } - - IVehicleComponentsEngineering ComponentInputData { get; } + } + public interface IXMLAxlesReader + { IAxleEngineeringInputData CreateAxle(XmlNode axleNode); + } + public interface IXMLAxleReader + { + ITyreEngineeringInputData Tyre { get; } + } + + public interface IXMLGearboxReader + { ITransmissionInputData CreateGear(XmlNode gearNode); + } - IAuxiliaryEngineeringInputData Create(XmlNode auxNode); + public interface IXMLAuxiliaryReader + { + IAuxiliaryEngineeringInputData CreateAuxiliary(XmlNode auxNode); } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/AbstractExternalResourceReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/AbstractExternalResourceReader.cs index a1d921e501156abd1defbd8d371303d8a8caf8e5..4782d196f04ef8b949710799fc10de0c7084ef2a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/AbstractExternalResourceReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/AbstractExternalResourceReader.cs @@ -13,27 +13,38 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader internal abstract class AbstractExternalResourceReader { protected XmlNode BaseNode; - protected bool VerifyXML; protected IXMLResource ParentComponent; - public AbstractExternalResourceReader(IXMLResource parent, XmlNode baseNode, bool verifyXML) + public AbstractExternalResourceReader(IXMLResource parent, XmlNode baseNode) { BaseNode = baseNode; - VerifyXML = verifyXML; + ParentComponent = parent; } protected virtual T CreateComponent<T>( string component, Func<string, XmlNode, string, T> componentCreator, bool allowExternalResource = true, - bool createDummy = false) + bool createDummy = false, bool requireDataNode = true) { var componentNode = BaseNode.LocalName == component ? BaseNode : BaseNode.SelectSingleNode(XMLHelper.QueryLocalName(component)); - var dataNode = componentNode?.SelectSingleNode(string.Format("./*[local-name()='{0}']", XMLNames.ComponentDataWrapper)) ?? componentNode; - if (componentNode != null) { - var type = (dataNode ?? componentNode).SchemaInfo.SchemaType; - var version = XMLHelper.GetSchemaVersion(type); + var dataNode = requireDataNode + ? componentNode?.SelectSingleNode(string.Format("./*[local-name()='{0}']", XMLNames.ComponentDataWrapper)) + : componentNode; + var componentResourceNode = componentNode?.SelectSingleNode( + string.Format( + "./*[local-name()='{0}' and @{3}='{4}']", XMLNames.ExternalResource, + XMLNames.ExtResource_Component_Attr, component, XMLNames.ExtResource_Type_Attr, + XMLNames.ExtResource_Type_Value_XML)) ?? + BaseNode?.SelectSingleNode( + string.Format( + "./*[local-name()='{0}' and @{1}='{2}' and @{3}='{4}']", XMLNames.ExternalResource, + XMLNames.ExtResource_Component_Attr, component, XMLNames.ExtResource_Type_Attr, + XMLNames.ExtResource_Type_Value_XML)); + if (dataNode != null && componentResourceNode == null) { + var type = dataNode.SchemaInfo.SchemaType; + var version = XMLHelper.GetXsdType(type); try { return componentCreator(version, componentNode, ParentComponent.DataSource.SourceFile); @@ -46,15 +57,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader throw new VectoException("Component {0} not found!", component); } - var componentResourceNode = BaseNode.SelectSingleNode( - string.Format( - "./*[local-name()='{0}' and @{1}='{2}' and @{3}='{4}']", XMLNames.ExternalResource, - XMLNames.ExtResource_Component_Attr, component, XMLNames.ExtResource_Type_Attr, - XMLNames.ExtResource_Type_Value_XML)); + if (componentResourceNode != null) { try { var componentFile = componentResourceNode.Attributes?.GetNamedItem(XMLNames.ExtResource_File_Attr).InnerText; - var fullFileName = componentFile == null ? null : Path.Combine(ParentComponent.DataSource.SourcePath, componentFile); + var fullFileName = componentFile == null + ? null + : Path.Combine(ParentComponent.DataSource.SourcePath, componentFile); if (componentFile == null || !File.Exists(fullFileName)) { throw new VectoException( "Referenced component file '{1}' for component '{0}' not found!", component, componentFile); @@ -62,12 +71,22 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader var componentDocument = new XmlDocument(); componentDocument.Load(XmlReader.Create(fullFileName)); - if (VerifyXML) { - new XMLValidator(componentDocument, null, XMLValidator.CallBackExceptionOnError).ValidateXML( - XmlDocumentType.EngineeringJobData); + if (componentDocument.DocumentElement == null) { + throw new VectoException("invalid xml file for component {0}, file {1}", component, componentFile); } - var type = componentDocument.DocumentElement.SchemaInfo.SchemaType; - var version = XMLHelper.GetSchemaVersion(type); + + new XMLValidator(componentDocument, null, XMLValidator.CallBackExceptionOnError).ValidateXML( + XmlDocumentType.EngineeringJobData); + + var docComponentNode = componentDocument.DocumentElement.LocalName == component + ? componentDocument.DocumentElement + : componentDocument.DocumentElement.SelectSingleNode(XMLHelper.QueryLocalName(component)); + var docDataNode = + docComponentNode?.SelectSingleNode(string.Format("./*[local-name()='{0}']", XMLNames.ComponentDataWrapper)) ?? + docComponentNode; + + var type = (docDataNode)?.SchemaInfo.SchemaType; + var version = XMLHelper.GetXsdType(type); try { return componentCreator(version, componentDocument.DocumentElement, fullFileName); } catch (Exception e) { @@ -88,5 +107,21 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader throw new VectoException("Component {0} not found!", component); } + + protected virtual T GetReader<T>( + IXMLEngineeringVehicleData vehicle, XmlNode node, Func<string, IXMLEngineeringVehicleData, XmlNode, T> creator) + where T : class + { + if (node == null) { + return null; + } + + var version = XMLHelper.GetXsdType(node.SchemaInfo.SchemaType); + if (string.IsNullOrWhiteSpace(version)) { + version = XMLHelper.GetVersionFromNamespaceUri( + (node.SchemaInfo.SchemaType?.Parent as XmlSchemaElement)?.QualifiedName.Namespace); + } + return creator(version, vehicle, node); + } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLComponentsEngineeringReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLComponentsEngineeringReader.cs index e7a523159662cc267a99da16fd3cdf24fbb09705..1549589f2f5ae51ff3d21fd7b6c66e4511d33a26 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLComponentsEngineeringReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLComponentsEngineeringReader.cs @@ -12,10 +12,22 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader { - internal class XMLComponentsEngineeringReaderV07 : AbstractExternalResourceReader, IXMLComponentsReader + internal class XMLComponentsEngineeringReaderV07 : AbstractExternalResourceReader, IXMLComponentsReader, IXMLAxlesReader, IXMLAxleReader, IXMLGearboxReader, IXMLAuxiliaryReader { public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public const string COMPONENTS_XSD_TYPE = "VehicleComponentsType"; + public const string AXLES_XSD_TYPE = "AxleWheelsDataEngineeringType"; + public const string AXLE_XSD_TYPE = "AxleDataEngineeringType"; + public const string GEARBOX_XSD_TYPE = "GearboxDataEngineeringType"; + public const string AUXILIARY_XSD_TYPE = "AuxiliariesDataEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE_COMPONENTS = XMLHelper.CombineNamespace(NAMESPACE_URI, COMPONENTS_XSD_TYPE); + public static readonly string QUALIFIED_XSD_TYPE_AXLES = XMLHelper.CombineNamespace(NAMESPACE_URI, AXLES_XSD_TYPE); + public static readonly string QUALIFIED_XSD_TYPE_AXLE = XMLHelper.CombineNamespace(NAMESPACE_URI, AXLE_XSD_TYPE); + public static readonly string QUALIFIED_XSD_TYPE_GEARBOX = XMLHelper.CombineNamespace(NAMESPACE_URI, GEARBOX_XSD_TYPE); + public static readonly string QUALIFIED_XSD_TYPE_AUXILIARY = XMLHelper.CombineNamespace(NAMESPACE_URI, AUXILIARY_XSD_TYPE); + //protected string Version; protected IXMLEngineeringVehicleData Vehicle; @@ -34,8 +46,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader [Inject] public IEngineeringInjectFactory Factory { protected get; set; } - public XMLComponentsEngineeringReaderV07(IXMLEngineeringVehicleData vehicle, XmlNode componentsNode, bool verifyXML) : - base(vehicle, componentsNode, verifyXML) + public XMLComponentsEngineeringReaderV07(IXMLEngineeringVehicleData vehicle, XmlNode componentsNode) : + base(vehicle, componentsNode) { if (componentsNode == null) { throw new VectoException("component node must not be null!"); @@ -118,7 +130,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader } public virtual IVehicleComponentsEngineering ComponentInputData { get { - return _components ?? (_components = CreateComponent(XMLNames.Vehicle_Components, ComponentsCreator)); + return _components ?? (_components = CreateComponent(XMLNames.Vehicle_Components, ComponentsCreator, requireDataNode:false)); } } @@ -126,10 +138,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader public IAxleEngineeringInputData CreateAxle(XmlNode axleNode) { - var version = XMLHelper.GetSchemaVersion(axleNode); + var version = XMLHelper.GetXsdType(axleNode.SchemaInfo.SchemaType); try { var axle = Factory.CreateAxleData(version, axleNode, Vehicle); - axle.Reader = Factory.CreateAxleReader(version, Vehicle, axleNode, VerifyXML); + axle.Reader = Factory.CreateAxleReader(version, Vehicle, axleNode); return axle; } catch (Exception e) { var axleNumber = axleNode.Attributes?.GetNamedItem(XMLNames.AxleWheels_Axles_Axle_AxleNumber_Attr).InnerText; @@ -140,7 +152,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader public ITransmissionInputData CreateGear(XmlNode gearNode) { - var version = XMLHelper.GetSchemaVersion(gearNode); + var version = XMLHelper.GetXsdType(gearNode.SchemaInfo.SchemaType); try { return Factory.CreateGearData(version, gearNode, (Vehicle as IXMLResource).DataSource.SourcePath); } catch (Exception e) { @@ -150,9 +162,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader } } - public IAuxiliaryEngineeringInputData Create(XmlNode auxNode) + public IAuxiliaryEngineeringInputData CreateAuxiliary(XmlNode auxNode) { - var version = XMLHelper.GetSchemaVersion(auxNode); + var version = XMLHelper.GetXsdType(auxNode.SchemaInfo.SchemaType); try { return Factory.CreateAuxData(version, auxNode, (Vehicle as IXMLResource).DataSource.SourcePath); } catch (Exception e) { @@ -167,7 +179,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader protected IVehicleComponentsEngineering ComponentsCreator(string version, XmlNode componentNode, string sourcefile) { var components = Factory.CreateComponentData(version, Vehicle, componentNode, sourcefile); - components.ComponentReader = Factory.CreateComponentReader(version, Vehicle, componentNode, VerifyXML); + components.ComponentReader = Factory.CreateComponentReader(version, Vehicle, componentNode); return components; } @@ -203,7 +215,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader string version, XmlNode componentNode, string sourceFile) { var aux = Factory.CreateAuxiliariesData(version, Vehicle, componentNode, sourceFile); - aux.Reader = Factory.CreateComponentReader(version, Vehicle, componentNode, VerifyXML); + aux.Reader = Factory.CreatAuxiliariesReader(version, Vehicle, componentNode); return aux; } @@ -211,7 +223,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader string version, XmlNode componentNode, string sourceFile) { var gbx = Factory.CreateGearboxData(version, Vehicle, componentNode, sourceFile); - gbx.Reader = Factory.CreateComponentReader(version, Vehicle, componentNode, VerifyXML); + gbx.Reader = Factory.CreateGearboxReader(version, Vehicle, componentNode); return gbx; } @@ -234,7 +246,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader protected IAxlesEngineeringInputData AxlesCreator(string version, XmlNode componentNode, string sourceFile) { var axles = Factory.CreateAxlesData(version, Vehicle, componentNode, sourceFile); - axles.Reader = Factory.CreateComponentReader(version, Vehicle, componentNode, VerifyXML); + axles.Reader = Factory.CreateAxlesReader(version, Vehicle, componentNode); return axles; } @@ -250,15 +262,39 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader { public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; - public XMLComponentsEngineeringReaderV10(IXMLEngineeringVehicleData vehicle, XmlNode componentsNode, bool verifyXML) : - base(vehicle, componentsNode, verifyXML) { } + //public new const string COMPONENTS_XSD_TYPE = "VehicleComponentsType"; + //public new const string AXLES_XSD_TYPE = "AxleWheelsComponentEngineeringType"; + //public new const string AXLE_XSD_TYPE = "AxleDataEngineeringType"; + //public new const string GEARBOX_XSD_TYPE = "GearboxComponentsEngineeringType"; + //public new const string AUXILIARY_XSD_TYPE = "VehicleComponentsType"; + + public new static readonly string QUALIFIED_XSD_TYPE_COMPONENTS = XMLHelper.CombineNamespace(NAMESPACE_URI, COMPONENTS_XSD_TYPE); + public new static readonly string QUALIFIED_XSD_TYPE_AXLES = XMLHelper.CombineNamespace(NAMESPACE_URI, AXLES_XSD_TYPE); + public new static readonly string QUALIFIED_XSD_TYPE_AXLE = XMLHelper.CombineNamespace(NAMESPACE_URI, AXLE_XSD_TYPE); + public new static readonly string QUALIFIED_XSD_TYPE_GEARBOX = XMLHelper.CombineNamespace(NAMESPACE_URI, GEARBOX_XSD_TYPE); + public new static readonly string QUALIFIED_XSD_TYPE_AUXILIARY = XMLHelper.CombineNamespace(NAMESPACE_URI, AUXILIARY_XSD_TYPE); + + public XMLComponentsEngineeringReaderV10(IXMLEngineeringVehicleData vehicle, XmlNode componentsNode) : + base(vehicle, componentsNode) { } } internal class XMLComponentsEngineeringReaderV10TEST : XMLComponentsEngineeringReaderV10 { public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10_TEST; - public XMLComponentsEngineeringReaderV10TEST(IXMLEngineeringVehicleData vehicle, XmlNode componentsNode, bool verifyXML) : base(vehicle, componentsNode, verifyXML) { } + //public new const string COMPONENTS_XSD_TYPE = "VehicleComponentsType"; + //public new const string AXLES_XSD_TYPE = "AxleWheelsComponentEngineeringType"; + //public new const string AXLE_XSD_TYPE = "AxleDataEngineeringType"; + //public new const string GEARBOX_XSD_TYPE = "GearboxComponentsEngineeringType"; + //public new const string AUXILIARY_XSD_TYPE = "AuxiliariesComponentEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE_COMPONENTS = XMLHelper.CombineNamespace(NAMESPACE_URI, COMPONENTS_XSD_TYPE); + public new static readonly string QUALIFIED_XSD_TYPE_AXLES = XMLHelper.CombineNamespace(NAMESPACE_URI, AXLES_XSD_TYPE); + public new static readonly string QUALIFIED_XSD_TYPE_AXLE = XMLHelper.CombineNamespace(NAMESPACE_URI, AXLE_XSD_TYPE); + public new static readonly string QUALIFIED_XSD_TYPE_GEARBOX = XMLHelper.CombineNamespace(NAMESPACE_URI, GEARBOX_XSD_TYPE); + public new static readonly string QUALIFIED_XSD_TYPE_AUXILIARY = XMLHelper.CombineNamespace(NAMESPACE_URI, AUXILIARY_XSD_TYPE); + + public XMLComponentsEngineeringReaderV10TEST(IXMLEngineeringVehicleData vehicle, XmlNode componentsNode) : base(vehicle, componentsNode) { } public override ITyreEngineeringInputData Tyre { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLDriverDataReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLDriverDataReader.cs index c9bbdca1d8f5de73e6d32327937572086f2974cb..6ca71e993583b62b5f54530dfaf8a80fba9aa0f2 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLDriverDataReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLDriverDataReader.cs @@ -16,13 +16,17 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader { { public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public const string XSD_TYPE = "DriverModelType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + protected XmlNode DriverDataNode; protected IXMLEngineeringDriverData DriverData; [Inject] public IEngineeringInjectFactory Factory { protected get; set; } - public XMLDriverDataReaderV07(IXMLEngineeringDriverData driverData, XmlNode driverDataNode, bool verifyXML) + public XMLDriverDataReaderV07(IXMLEngineeringDriverData driverData, XmlNode driverDataNode) { DriverData = driverData; DriverDataNode = driverDataNode; @@ -82,7 +86,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader { } } - var version = XMLHelper.GetSchemaVersion(node); + var version = XMLHelper.GetXsdType(node.SchemaInfo.SchemaType); try { return creator(version, node); } catch (Exception e) { @@ -119,7 +123,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader { { public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; - public XMLDriverDataReaderV10(IXMLEngineeringDriverData driverData, XmlNode driverDataNode, bool verifyXML) : base(driverData, driverDataNode, verifyXML) { } + public new const string XSD_TYPE = "DriverModelType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + + public XMLDriverDataReaderV10(IXMLEngineeringDriverData driverData, XmlNode driverDataNode) : base(driverData, driverDataNode) { } } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLEngineeringInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLEngineeringInputReader.cs index ad7150b5cc1aa992d9dfc594318ff6a8649182b3..d15e7b19b0178225fbe1f19501726eed897a12db 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLEngineeringInputReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLEngineeringInputReader.cs @@ -12,6 +12,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader { public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; + public const string XSD_TYPE = "VectoJobEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + protected XmlNode JobNode; protected IXMLEngineeringInputData InputData; private IEngineeringJobInputData _jobData; @@ -20,8 +24,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader [Inject] public IEngineeringInjectFactory Factory { protected get; set; } - public XMLEngineeringInputReaderV07(IXMLEngineeringInputData inputData, XmlNode documentElement, bool verifyXml) : - base(inputData, documentElement, verifyXml) + public XMLEngineeringInputReaderV07(IXMLEngineeringInputData inputData, XmlNode documentElement) : + base(inputData, documentElement) { JobNode = documentElement; InputData = inputData; @@ -29,26 +33,26 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader public IEngineeringJobInputData JobData { - get { return _jobData ?? (_jobData = CreateComponent(XMLNames.VectoInputEngineering, JobCreator, false)); } + get { return _jobData ?? (_jobData = CreateComponent(XMLNames.VectoInputEngineering, JobCreator, false, requireDataNode: false)); } } public IDriverEngineeringInputData DriverModel { - get { return _driverModel ?? (_driverModel = CreateComponent(XMLNames.Component_DriverModel, DriverModelCreator)); } + get { return _driverModel ?? (_driverModel = CreateComponent(XMLNames.Component_DriverModel, DriverModelCreator, requireDataNode:false)); } } public IEngineeringJobInputData JobCreator(string version, XmlNode baseNode, string filename) { var job = Factory.CreateJobData(version, JobNode, InputData, (InputData as IXMLResource).DataSource.SourceFile); - job.Reader = Factory.CreateJobReader(version, job, JobNode, VerifyXML); + job.Reader = Factory.CreateJobReader(version, job, JobNode); return job; } public IDriverEngineeringInputData DriverModelCreator(string version, XmlNode baseNode, string filename) { var driverData = Factory.CreateDriverData(version, InputData, baseNode, (InputData as IXMLResource).DataSource.SourceFile); - driverData.Reader = Factory.CreateDriverReader(version, driverData, baseNode, VerifyXML); + driverData.Reader = Factory.CreateDriverReader(version, driverData, baseNode); return driverData; } } @@ -57,8 +61,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader { public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; + public new const string XSD_TYPE = "VectoJobEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + public XMLEngineeringInputReaderV10( - IXMLEngineeringInputData inputData, XmlNode documentElement, bool verifyXml) : - base(inputData, documentElement, verifyXml) { } + IXMLEngineeringInputData inputData, XmlNode documentElement) : + base(inputData, documentElement) { } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLJobDataReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLJobDataReader.cs index 40920d11e1adb6c9c2d99bebfb6b41851d9995a8..4174bc3c3ed4b4a8f603d5b2031a1435b6597fca 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLJobDataReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/Impl/XMLJobDataReader.cs @@ -12,7 +12,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader internal class XMLJobDataReaderV07 : AbstractExternalResourceReader, IXMLJobDataReader { public const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V07; - + + public const string XSD_TYPE = "VectoJobEngineeringType"; + + public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + protected XmlNode JobNode; protected IXMLEngineeringJobInputData JobData; @@ -21,8 +25,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader [Inject] public IEngineeringInjectFactory Factory { protected get; set; } - public XMLJobDataReaderV07(IXMLEngineeringJobInputData jobData, XmlNode jobNode, bool verifyXML) : base( - jobData, jobNode, verifyXML) + public XMLJobDataReaderV07(IXMLEngineeringJobInputData jobData, XmlNode jobNode) : base( + jobData, jobNode) { JobNode = jobNode; JobData = jobData; @@ -35,7 +39,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader public IVehicleEngineeringInputData CreateVehicle { - get { return _vehicle ?? (_vehicle = CreateComponent(XMLNames.Component_Vehicle, VehicleCreator)); } + get { return _vehicle ?? (_vehicle = CreateComponent(XMLNames.Component_Vehicle, VehicleCreator, requireDataNode: false)); } } @@ -43,7 +47,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader { get { var cyclesNode = JobNode.SelectSingleNode(XMLHelper.QueryLocalName(XMLNames.VectoJob_MissionCycles)); - var version = XMLHelper.GetSchemaVersion(cyclesNode); + var version = XMLHelper.GetXsdType(cyclesNode?.SchemaInfo.SchemaType); return Factory.CreateCycleData(version, JobData, JobNode, JobData.DataSource.SourcePath); } @@ -53,7 +57,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader private IVehicleEngineeringInputData VehicleCreator(string version, XmlNode componentNode, string sourceFile) { var vehicle = Factory.CreateVehicleData(version, JobData, componentNode, sourceFile); - vehicle.ComponentReader = Factory.CreateComponentReader(version, vehicle, componentNode.SelectSingleNode(XMLHelper.QueryLocalName(XMLNames.Vehicle_Components)), VerifyXML); + vehicle.ComponentReader = GetReader(vehicle, vehicle.ComponentNode, Factory.CreateComponentReader); return vehicle; } @@ -64,6 +68,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader { public new const string NAMESPACE_URI = XMLDefinitions.ENGINEERING_DEFINITONS_NAMESPACE_V10; - public XMLJobDataReaderV10(XMLEngineeringJobInputDataProviderV10 jobData, XmlNode jobNode, bool verifyXML) : base(jobData, jobNode, verifyXML) { } + public new const string XSD_TYPE = "VectoJobEngineeringType"; + + public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI, XSD_TYPE); + + public XMLJobDataReaderV10(XMLEngineeringJobInputDataProviderV10 jobData, XmlNode jobNode) : base(jobData, jobNode) { } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/IXMLInputDataReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/IXMLInputDataReader.cs index 666ddaf8330b9ba091776d8a4c69c37bff3a9a48..722f62b469769ff91903c9bd4c296b00663fcfcb 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/IXMLInputDataReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/IXMLInputDataReader.cs @@ -12,14 +12,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML IInputDataProvider Create(XmlReader inputData, bool verifyXML); - IEngineeringInputDataProvider CreateEngineering(string filename, bool verifyXML); + IEngineeringInputDataProvider CreateEngineering(string filename); - IEngineeringInputDataProvider CreateEngineering(Stream inputData, bool verifyXML); + IEngineeringInputDataProvider CreateEngineering(Stream inputData); - IEngineeringInputDataProvider CreateEngineering(XmlReader inputData, bool verifyXML); + IEngineeringInputDataProvider CreateEngineering(XmlReader inputData); - IDeclarationInputDataProvider CreateDeclaration(string filename, bool verifyXML); + IDeclarationInputDataProvider CreateDeclaration(string filename); - IDeclarationInputDataProvider CreateDeclaration(XmlReader inputData, bool verifyXML); + IDeclarationInputDataProvider CreateDeclaration(XmlReader inputData); } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs b/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs index 6bbd07c526d4489b9fa543e7ab94ef7bf625088b..29cd4589fbc7b7f1356418ec3f493152947a6e35 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs @@ -21,50 +21,50 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML public IInputDataProvider Create(string filename, bool verifyXML) { - return ReadXmlDoc(XmlReader.Create(filename), filename, verifyXML); + return ReadXmlDoc(XmlReader.Create(filename), filename); } public IInputDataProvider Create(Stream inputData, bool verifyXML) { - return ReadXmlDoc(XmlReader.Create(inputData), null, verifyXML); + return ReadXmlDoc(XmlReader.Create(inputData), null); } public IInputDataProvider Create(XmlReader inputData, bool verifyXML) { - return ReadXmlDoc(inputData, null, verifyXML); + return ReadXmlDoc(inputData, null); } - public IEngineeringInputDataProvider CreateEngineering(string filename, bool verifyXML) + public IEngineeringInputDataProvider CreateEngineering(string filename) { - return DoCreateEngineering(XmlReader.Create(filename), filename, verifyXML); + return DoCreateEngineering(XmlReader.Create(filename), filename); } - public IEngineeringInputDataProvider CreateEngineering(Stream inputData, bool verifyXML) + public IEngineeringInputDataProvider CreateEngineering(Stream inputData) { - return DoCreateEngineering(XmlReader.Create(inputData), null, verifyXML); + return DoCreateEngineering(XmlReader.Create(inputData), null); } - public IEngineeringInputDataProvider CreateEngineering(XmlReader inputData, bool verifyXML) + public IEngineeringInputDataProvider CreateEngineering(XmlReader inputData) { - return DoCreateEngineering(inputData, null, verifyXML); + return DoCreateEngineering(inputData, null); } - public IDeclarationInputDataProvider CreateDeclaration(string filename, bool verifyXML) + public IDeclarationInputDataProvider CreateDeclaration(string filename) { - return DoCreateDeclaration(XmlReader.Create(filename), filename, verifyXML); + return DoCreateDeclaration(XmlReader.Create(filename), filename); } - public IDeclarationInputDataProvider CreateDeclaration(XmlReader inputData, bool verifyXML) + public IDeclarationInputDataProvider CreateDeclaration(XmlReader inputData) { - return DoCreateDeclaration(inputData, null, verifyXML); + return DoCreateDeclaration(inputData, null); } - private IDeclarationInputDataProvider DoCreateDeclaration(XmlReader inputData, string source, bool verifyXML) + private IDeclarationInputDataProvider DoCreateDeclaration(XmlReader inputData, string source) { - var retVal = ReadXmlDoc(inputData, source, verifyXML) as IDeclarationInputDataProvider; + var retVal = ReadXmlDoc(inputData, source) as IDeclarationInputDataProvider; if (retVal == null) { throw new VectoException("Input data is not in declaration mode!"); } @@ -72,9 +72,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML return retVal; } - private IEngineeringInputDataProvider DoCreateEngineering(XmlReader inputData, string source, bool verifyXML) + private IEngineeringInputDataProvider DoCreateEngineering(XmlReader inputData, string source) { - var retVal = ReadXmlDoc(inputData, source, verifyXML) as IEngineeringInputDataProvider; + var retVal = ReadXmlDoc(inputData, source) as IEngineeringInputDataProvider; if (retVal == null) { throw new VectoException("Input data is not in engineering mode!"); } @@ -82,7 +82,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML return retVal; } - private IInputDataProvider ReadXmlDoc(XmlReader inputData, string source, bool verifyXML) + private IInputDataProvider ReadXmlDoc(XmlReader inputData, string source) { var xmlDoc = new XmlDocument(); xmlDoc.Load(inputData); @@ -95,13 +95,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML throw new VectoException("unknown xml file! {0}", xmlDoc.DocumentElement.LocalName); } - if (verifyXML) { - new XMLValidator(xmlDoc, null, XMLValidator.CallBackExceptionOnError).ValidateXML(documentType.Value); - } + new XMLValidator(xmlDoc, null, XMLValidator.CallBackExceptionOnError).ValidateXML(documentType.Value); switch (documentType.Value) { - case XmlDocumentType.DeclarationJobData: return ReadDeclarationJob(xmlDoc, source, verifyXML); - case XmlDocumentType.EngineeringJobData: return ReadEngineeringJob(xmlDoc, source, verifyXML); + case XmlDocumentType.DeclarationJobData: return ReadDeclarationJob(xmlDoc, source); + case XmlDocumentType.EngineeringJobData: return ReadEngineeringJob(xmlDoc, source); case XmlDocumentType.EngineeringComponentData: case XmlDocumentType.DeclarationComponentData: case XmlDocumentType.ManufacturerReport: @@ -111,21 +109,21 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML } } - private IEngineeringInputDataProvider ReadEngineeringJob(XmlDocument xmlDoc, string source, bool verifyXML) + private IEngineeringInputDataProvider ReadEngineeringJob(XmlDocument xmlDoc, string source) { - var versionNumber = XMLHelper.GetSchemaVersion(xmlDoc.DocumentElement); + var versionNumber = XMLHelper.GetXsdType(xmlDoc.DocumentElement?.SchemaInfo.SchemaType); var input = EngineeringFactory.CreateInputProvider(versionNumber, xmlDoc, source); - input.Reader = EngineeringFactory.CreateInputReader(versionNumber, input, xmlDoc.DocumentElement, verifyXML); + input.Reader = EngineeringFactory.CreateInputReader(versionNumber, input, xmlDoc.DocumentElement); return input; } - private IDeclarationInputDataProvider ReadDeclarationJob(XmlDocument xmlDoc, string source, bool verifyXML) + private IDeclarationInputDataProvider ReadDeclarationJob(XmlDocument xmlDoc, string source) { - var versionNumber = XMLHelper.GetSchemaVersion(xmlDoc.DocumentElement?.SchemaInfo.SchemaType); + var versionNumber = XMLHelper.GetXsdType(xmlDoc.DocumentElement?.SchemaInfo.SchemaType); try { var input = DeclarationFactory.CreateInputProvider(versionNumber, xmlDoc, source); - input.Reader = DeclarationFactory.CreateInputReader(versionNumber, input, xmlDoc.DocumentElement, verifyXML); + input.Reader = DeclarationFactory.CreateInputReader(versionNumber, input, xmlDoc.DocumentElement); return input; } catch (Exception e) { throw new VectoException("Failed to read Declaration job version {0}", e, versionNumber); diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs index a48aa54e463247aec63f36fa5a1a7dcfdae541d3..66a932a5ff1d9a8c9de7efcd39b061ce23a1260a 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs @@ -242,8 +242,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter return null; } - internal GearboxData CreateGearboxData(IGearboxDeclarationInputData gearbox, CombustionEngineData engine, - double axlegearRatio, Meter dynamicTyreRadius, VehicleCategory vehicleCategory) + internal GearboxData CreateGearboxData(IGearboxDeclarationInputData gearbox, CombustionEngineData engine, double axlegearRatio, Meter dynamicTyreRadius, VehicleCategory vehicleCategory, ITorqueConverterDeclarationInputData torqueConverter) { if (!gearbox.SavedInDeclarationMode) { WarnDeclarationMode("GearboxData"); @@ -289,14 +288,14 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter if (retVal.Type.AutomaticTransmission()) { var ratio = double.IsNaN(retVal.Gears[1].Ratio) ? 1 : retVal.Gears[1].TorqueConverterRatio / retVal.Gears[1].Ratio; retVal.PowershiftShiftTime = DeclarationData.Gearbox.PowershiftShiftTime; - retVal.TorqueConverterData = TorqueConverterDataReader.Create(gearbox.TorqueConverter.TCData, + retVal.TorqueConverterData = TorqueConverterDataReader.Create(torqueConverter.TCData, DeclarationData.TorqueConverter.ReferenceRPM, DeclarationData.TorqueConverter.MaxInputSpeed, ExecutionMode.Declaration, ratio, DeclarationData.TorqueConverter.CLUpshiftMinAcceleration, DeclarationData.TorqueConverter.CCUpshiftMinAcceleration); - retVal.TorqueConverterData.ModelName = gearbox.TorqueConverter.Model; - retVal.TorqueConverterData.DigestValueInput = gearbox.TorqueConverter.DigestValue?.DigestValue; - retVal.TorqueConverterData.CertificationMethod = gearbox.TorqueConverter.CertificationMethod; - retVal.TorqueConverterData.CertificationNumber = gearbox.TorqueConverter.CertificationNumber; + retVal.TorqueConverterData.ModelName = torqueConverter.Model; + retVal.TorqueConverterData.DigestValueInput = torqueConverter.DigestValue?.DigestValue; + retVal.TorqueConverterData.CertificationMethod = torqueConverter.CertificationMethod; + retVal.TorqueConverterData.CertificationNumber = torqueConverter.CertificationNumber; } return retVal; diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 7c659e0b18378e6c8979afc917fff0ceacaa650b..46d86f91347697f8f38ed4ff19be7f7e58e4f44e 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -132,8 +132,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter Log.Error("{0} is in Declaration Mode but is used for Engineering Mode!", msg); } - internal CombustionEngineData CreateEngineData(IEngineEngineeringInputData engine, IGearboxEngineeringInputData gbx, - IEnumerable<ITorqueLimitInputData> torqueLimits, TankSystem? tankSystem = null) + internal CombustionEngineData CreateEngineData(IEngineEngineeringInputData engine, IGearboxEngineeringInputData gbx, IEnumerable<ITorqueLimitInputData> torqueLimits, ITorqueConverterEngineeringInputData torqueConverter, TankSystem? tankSystem = null) { if (engine.SavedInDeclarationMode) { WarnEngineeringMode("EngineData"); @@ -141,7 +140,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter var retVal = SetCommonCombustionEngineData(engine, tankSystem); retVal.Inertia = engine.Inertia + - (gbx != null && gbx.Type.AutomaticTransmission() ? gbx.TorqueConverter.Inertia : 0.SI<KilogramSquareMeter>()); + (gbx != null && gbx.Type.AutomaticTransmission() ? torqueConverter.Inertia : 0.SI<KilogramSquareMeter>()); var limits = torqueLimits.ToDictionary(e => e.Gear); var numGears = gbx == null ? 0 : gbx.Gears.Count; var fullLoadCurves = new Dictionary<uint, EngineFullLoadCurve>(numGears + 1); @@ -158,8 +157,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter return retVal; } - internal GearboxData CreateGearboxData(IGearboxEngineeringInputData gearbox, CombustionEngineData engineData, IGearshiftEngineeringInputData gearshiftData, - double axlegearRatio, Meter dynamicTyreRadius, VehicleCategory vehicleCategory) + internal GearboxData CreateGearboxData(IGearboxEngineeringInputData gearbox, CombustionEngineData engineData, IGearshiftEngineeringInputData gearshiftData, double axlegearRatio, Meter dynamicTyreRadius, VehicleCategory vehicleCategory, ITorqueConverterEngineeringInputData torqueConverter) { if (gearbox.SavedInDeclarationMode) { WarnEngineeringMode("GearboxData"); @@ -181,8 +179,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter var gears = new Dictionary<uint, GearData>(); ShiftPolygon tcShiftPolygon = null; if (gearbox.Type.AutomaticTransmission()) { - tcShiftPolygon = gearbox.TorqueConverter.ShiftPolygon != null - ? ShiftPolygonReader.Create(gearbox.TorqueConverter.ShiftPolygon) + tcShiftPolygon = torqueConverter.ShiftPolygon != null + ? ShiftPolygonReader.Create(torqueConverter.ShiftPolygon) : DeclarationData.TorqueConverter.ComputeShiftPolygon(engineData.FullLoadCurves[0]); } for (uint i = 0; i < gearbox.Gears.Count; i++) { @@ -209,8 +207,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter if (retVal.Type.AutomaticTransmission()) { var ratio = double.IsNaN(retVal.Gears[1].Ratio) ? 1 : retVal.Gears[1].TorqueConverterRatio / retVal.Gears[1].Ratio; retVal.PowershiftShiftTime = gearbox.PowershiftShiftTime; - retVal.TorqueConverterData = TorqueConverterDataReader.Create(gearbox.TorqueConverter.TCData, - gearbox.TorqueConverter.ReferenceRPM, gearbox.TorqueConverter.MaxInputSpeed, ExecutionMode.Engineering, ratio, + retVal.TorqueConverterData = TorqueConverterDataReader.Create(torqueConverter.TCData, + torqueConverter.ReferenceRPM, torqueConverter.MaxInputSpeed, ExecutionMode.Engineering, ratio, gearshiftData.CLUpshiftMinAcceleration, gearshiftData.CCUpshiftMinAcceleration); } diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs index f791149169a7c89042570f16332f8df100899a40..4c680443814b8c0afda04b06a366e3cdae7b7569 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeVectoRunDataFactory.cs @@ -116,7 +116,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl _angledriveData = _dao.CreateAngledriveData(InputDataProvider.JobInputData.Vehicle.Components.AngledriveInputData); _gearboxData = _dao.CreateGearboxData(vehicle.Components.GearboxInputData, _engineData, _axlegearData.AxleGear.Ratio, - tempVehicle.DynamicTyreRadius, tempVehicle.VehicleCategory); + tempVehicle.DynamicTyreRadius, tempVehicle.VehicleCategory, vehicle.Components.TorqueConverterInputData); _retarderData = _dao.CreateRetarderData(vehicle.Components.RetarderInputData); _ptoTransmissionData = _dao.CreatePTOTransmissionData(vehicle.Components.PTOTransmissionInputData); diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs index 29f56dbcb454474323287b445dffa8fe225d0ef0..b89cbc6dc7c188fdd546e048f542d9b9505972b6 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs @@ -134,7 +134,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl GearboxData = Dao.CreateGearboxData( vehicle.Components.GearboxInputData, EngineData, AxlegearData.AxleGear.Ratio, - tempVehicle.DynamicTyreRadius, tempVehicle.VehicleCategory); + tempVehicle.DynamicTyreRadius, tempVehicle.VehicleCategory, vehicle.Components.TorqueConverterInputData); RetarderData = Dao.CreateRetarderData(vehicle.Components.RetarderInputData); PTOTransmissionData = diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs index 7f9e6845f4522b8444a675b311bec877628915d6..fad713453810b7fe6d04a35081e941011f45d142 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs @@ -53,7 +53,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl foreach (var cycle in InputDataProvider.JobInputData.Cycles) { var simulationRunData = new VectoRunData { JobName = InputDataProvider.JobInputData.JobName, - EngineData = dao.CreateEngineData(InputDataProvider.JobInputData.EngineOnly, null, new List<ITorqueLimitInputData>(), null), + EngineData = dao.CreateEngineData(InputDataProvider.JobInputData.EngineOnly, null, new List<ITorqueLimitInputData>(), null, null), Cycle = new DrivingCycleProxy( DrivingCycleDataReader.ReadFromDataTable(cycle.CycleData, cycle.Name, false), cycle.Name), ExecutionMode = ExecutionMode.Engineering, diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs index ef6788abbb31e09a5e61627f58b79200dba6a64e..2df63fb6ccb32b06b908e69e640b4ed7b95b81ef 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs @@ -63,14 +63,14 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl var driver = dao.CreateDriverData(InputDataProvider.DriverInputData); var vehicle = InputDataProvider.JobInputData.Vehicle; var engineData = dao.CreateEngineData(vehicle.Components.EngineInputData, vehicle.Components.GearboxInputData, - vehicle.TorqueLimits, vehicle.TankSystem); + vehicle.TorqueLimits, vehicle.Components.TorqueConverterInputData, vehicle.TankSystem); var tempVehicle = dao.CreateVehicleData(vehicle); var axlegearData = dao.CreateAxleGearData(vehicle.Components.AxleGearInputData); var gearboxData = dao.CreateGearboxData( vehicle.Components.GearboxInputData, engineData, InputDataProvider.DriverInputData.GearshiftInputData, - axlegearData.AxleGear.Ratio, tempVehicle.DynamicTyreRadius, tempVehicle.VehicleCategory); + axlegearData.AxleGear.Ratio, tempVehicle.DynamicTyreRadius, tempVehicle.VehicleCategory, vehicle.Components.TorqueConverterInputData); var crossWindRequired = vehicle.Components.AirdragInputData.CrossWindCorrectionMode == CrossWindCorrectionMode.VAirBetaLookupTable; var angledriveData = dao.CreateAngledriveData(vehicle.Components.AngledriveInputData); diff --git a/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/XMLEngineeringAxlesWriter.cs b/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/XMLEngineeringAxlesWriter.cs index cb1df233e67a4d3323601107e276bb8ee3e129d4..97f42214a9ff27dacb05a42c8129774e6ca71736 100644 --- a/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/XMLEngineeringAxlesWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/XMLEngineeringAxlesWriter.cs @@ -18,7 +18,7 @@ namespace TUGraz.VectoCore.OutputData.XML.Engineering.Writer [Inject] public IEngineeringWriterFactory Factory { protected get; set; } - public XMLEngineeringAxlesWriterV10() : base("AxleComponentEngineeringType") { } + public XMLEngineeringAxlesWriterV10() : base("AxleWheelsDataEngineeringType") { } #region Overrides of AbstractXMLWriter diff --git a/VectoCore/VectoCore/Resources/XSD/VectoComponent.1.0.xsd b/VectoCore/VectoCore/Resources/XSD/VectoComponent.1.0.xsd index b62069047069413f0953db5a11dfed979e3015cf..137b81a16891b8fd78b398430c7be1260849a476 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoComponent.1.0.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoComponent.1.0.xsd @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- edited with XMLSpy v2016 rel. 2 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> +<!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> <xs:schema xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vectoParam="urn:tugraz:ivt:VectoAPI:ParameterDocumentation" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" targetNamespace="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd"> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.0.xsd"/> <xs:element name="VectoInputDeclaration"> @@ -13,7 +13,7 @@ <xs:element name="TorqueConverter" type="vdecdef:TorqueConverterComponentDeclarationType"/> <xs:element name="Retarder" type="vdecdef:RetarderComponentDeclarationType"/> <xs:element name="Axlegear" type="vdecdef:AxlegearComponentDeclarationType"/> - <xs:element name="Tyre" type="vdecdef:TyreDeclarationType"/> + <xs:element name="Tyre" type="vdecdef:TyreComponentDeclarationType"/> <xs:element name="Auxiliaries" type="vdecdef:AuxiliariesComponentDeclarationType"/> <xs:element name="Angledrive" type="vdecdef:AngledriveComponentDeclarationType"/> <xs:element name="AirDrag" type="vdecdef:AirDragComponentDeclarationType"/> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationComponent.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationComponent.xsd index c4673d8c7b6086bbba22fa898cb46561514a26e5..3fd2fcee9510f12ed4e3fe4307cd0d6fa39be4d8 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationComponent.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationComponent.xsd @@ -6,6 +6,7 @@ This is a convienience file that imports the schema for declaration input (i.e., job data) and all supported declaration definitions --> + <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v1.0" schemaLocation="VectoComponent.1.0.xsd"/> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v2.0" schemaLocation="VectoComponent.2.0.xsd"/> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions" schemaLocation="VectoDeclarationDefinitions.xsd"/> </xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.0.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.0.xsd index fdd8215172e91aafac535f226c7ce33e20ed67a3..aea1dba8e2337be85125ec08661b803ea0855d3a 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.0.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.0.xsd @@ -265,7 +265,7 @@ <xs:documentation>P195 - bool</xs:documentation> </xs:annotation> </xs:element> - <xs:element name="Tyre" type="tns:TyreDeclarationType"/> + <xs:element name="Tyre" type="tns:TyreComponentDeclarationType"/> </xs:sequence> <xs:attribute name="axleNumber" use="required"> <xs:simpleType> @@ -554,13 +554,7 @@ <xs:sequence> <xs:element name="Data" type="tns:GearboxDataDeclarationType"/> <xs:element name="Signature" type="tns:SignatureType"/> - <xs:element name="TorqueConverter" minOccurs="0"> - <xs:complexType> - <xs:complexContent> - <xs:extension base="tns:TorqueConverterComponentDeclarationType"/> - </xs:complexContent> - </xs:complexType> - </xs:element> + <xs:element name="TorqueConverter" type="tns:TorqueConverterComponentDeclarationType" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="GearboxDataDeclarationType"> @@ -738,11 +732,11 @@ </xs:complexType> <xs:complexType name="TorqueConverterComponentDeclarationType"> <xs:sequence> - <xs:element name="Data" type="tns:TorqueConverterDeclarationDataType"/> + <xs:element name="Data" type="tns:TorqueConverterDataDeclarationType"/> <xs:element name="Signature" type="tns:SignatureType"/> </xs:sequence> </xs:complexType> - <xs:complexType name="TorqueConverterDeclarationDataType"> + <xs:complexType name="TorqueConverterDataDeclarationType"> <xs:complexContent> <xs:extension base="tns:AbstractTorqueConverterDataDeclarationType"> <xs:sequence> @@ -870,7 +864,7 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="TyreDeclarationType"> + <xs:complexType name="TyreComponentDeclarationType"> <xs:sequence> <xs:element name="Data" type="tns:TyreDataDeclarationType"/> <xs:element name="Signature" type="tns:SignatureType"/> @@ -982,22 +976,7 @@ <xs:documentation>P180 - enum</xs:documentation> </xs:annotation> </xs:element> - <xs:element name="PTO"> - <xs:complexType> - <xs:sequence> - <xs:element name="PTOShaftsGearWheels" type="tns:PTOShaftsGearWheelsType"> - <xs:annotation> - <xs:documentation>P247 - enum</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="PTOOtherElements" type="tns:PTOOtherElementsType"> - <xs:annotation> - <xs:documentation>P248 - enum</xs:documentation> - </xs:annotation> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> + <xs:element name="PTO" type="tns:PTOType"/> <xs:sequence> <xs:element name="ZeroEmissionVehicle" type="tns:ZeroEmissionVehicleType"> <xs:annotation> @@ -1019,52 +998,11 @@ <xs:documentation>P276 - bool</xs:documentation> </xs:annotation> </xs:element> - <xs:element name="ADAS"> - <xs:complexType> - <xs:sequence> - <xs:element name="EngineStopStart" type="tns:EngineStopStartType"> - <xs:annotation> - <xs:documentation>P271 - bool</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="EcoRollWithoutEngineStop" type="tns:EcoRollWithoutEngineStopType"> - <xs:annotation> - <xs:documentation>P272 - bool</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="EcoRollWithEngineStop" type="tns:EcoRollWithEngineStopType"> - <xs:annotation> - <xs:documentation>P273 - bool</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="PredictiveCruiseControl"> - <xs:annotation> - <xs:documentation>P274 - enum</xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:restriction base="tns:PredictiveCruiseControlType"/> - </xs:simpleType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> + <xs:element name="ADAS" type="tns:ADASType"/> </xs:sequence> <xs:sequence> <xs:element name="TorqueLimits" type="tns:TorqueLimitsType" minOccurs="0"/> - <xs:element name="Components"> - <xs:complexType> - <xs:sequence> - <xs:element name="Engine" type="tns:EngineComponentDeclarationType"/> - <xs:element name="Gearbox" type="tns:GearboxComponentDeclarationType"/> - <xs:element name="Angledrive" type="tns:AngledriveComponentDeclarationType" minOccurs="0"/> - <xs:element name="Retarder" type="tns:RetarderComponentDeclarationType" minOccurs="0"/> - <xs:element name="Axlegear" type="tns:AxlegearComponentDeclarationType"/> - <xs:element name="AxleWheels" type="tns:AxleWheelsComponentDeclarationType"/> - <xs:element name="Auxiliaries" type="tns:AuxiliariesComponentDeclarationType"/> - <xs:element name="AirDrag" type="tns:AirDragComponentDeclarationType" minOccurs="0"/> - </xs:sequence> - </xs:complexType> - </xs:element> + <xs:element name="Components" type="tns:VehicleComponentsType"/> </xs:sequence> </xs:sequence> <xs:sequence> @@ -2714,4 +2652,57 @@ ToDo: -0.00 </xs:annotation> <xs:restriction base="xs:boolean"/> </xs:simpleType> + <xs:complexType name="VehicleComponentsType"> + <xs:sequence> + <xs:element name="Engine" type="tns:EngineComponentDeclarationType"/> + <xs:element name="Gearbox" type="tns:GearboxComponentDeclarationType"/> + <xs:element name="Angledrive" type="tns:AngledriveComponentDeclarationType" minOccurs="0"/> + <xs:element name="Retarder" type="tns:RetarderComponentDeclarationType" minOccurs="0"/> + <xs:element name="Axlegear" type="tns:AxlegearComponentDeclarationType"/> + <xs:element name="AxleWheels" type="tns:AxleWheelsComponentDeclarationType"/> + <xs:element name="Auxiliaries" type="tns:AuxiliariesComponentDeclarationType"/> + <xs:element name="AirDrag" type="tns:AirDragComponentDeclarationType" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PTOType"> + <xs:sequence> + <xs:element name="PTOShaftsGearWheels" type="tns:PTOShaftsGearWheelsType"> + <xs:annotation> + <xs:documentation>P247 - enum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="PTOOtherElements" type="tns:PTOOtherElementsType"> + <xs:annotation> + <xs:documentation>P248 - enum</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ADASType"> + <xs:sequence> + <xs:element name="EngineStopStart" type="tns:EngineStopStartType"> + <xs:annotation> + <xs:documentation>P271 - bool</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="EcoRollWithoutEngineStop" type="tns:EcoRollWithoutEngineStopType"> + <xs:annotation> + <xs:documentation>P272 - bool</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="EcoRollWithEngineStop" type="tns:EcoRollWithEngineStopType"> + <xs:annotation> + <xs:documentation>P273 - bool</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="PredictiveCruiseControl"> + <xs:annotation> + <xs:documentation>P274 - enum</xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="tns:PredictiveCruiseControlType"/> + </xs:simpleType> + </xs:element> + </xs:sequence> + </xs:complexType> </xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.0.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.0.xsd index 12d6276af8673ca4424aaedfc35c69a268434f82..dfed1f3c8a622991dba6ea95dc6b3841291b3070 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.0.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.2.0.xsd @@ -734,7 +734,7 @@ <xs:element name="Signature" type="tns:SignatureType"/> </xs:sequence> </xs:complexType> - <xs:complexType name="TorqueConverterDeclarationDataType"> + <xs:complexType name="TorqueConverterDataDeclarationType"> <xs:complexContent> <xs:extension base="v1.0:AbstractTorqueConverterDataDeclarationType"> <xs:sequence> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationJob.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationJob.xsd index 1eee48c0fe58b427ba4bded5ca21adde7038186f..a273a41df9bfb2bbc514a134c4e20f74032dbdf5 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationJob.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationJob.xsd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vectoParam="urn:tugraz:ivt:VectoAPI:ParameterDocumentation" xmlns:vdj="urn:tugraz:ivt:VectoAPI:DeclarationJob" xmlns:vdi="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:vdd="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions" targetNamespace="urn:tugraz:ivt:VectoAPI:DeclarationJob" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd"> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vectoParam="urn:tugraz:ivt:VectoAPI:ParameterDocumentation" xmlns:vdj="urn:tugraz:ivt:VectoAPI:DeclarationJob" xmlns:vdi="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:vdd="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions" xmlns:ns1="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0" targetNamespace="urn:tugraz:ivt:VectoAPI:DeclarationJob" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd"> <!-- This is a convienience file that imports the schema for declaration input (i.e., job data) and all supported declaration definitions diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringComponent.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringComponent.xsd index f58eb98331901a9a4743ab89888c928445c9d052..f3317449409da011a5bb1f2d5b50ba9ec9b8c964 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringComponent.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringComponent.xsd @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> - <!-- +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="urn:tugraz:ivt:VectoAPI:EngineeringComponent:v1.0" xmlns:ns2="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" elementFormDefault="qualified" attributeFormDefault="unqualified"> + <!-- This is a convienience file that imports the schema for declaration input (i.e., job data) and all supported declaration definitions diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.0.7.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.0.7.xsd index 774959abc1e9a5e91f456ad24e6d4e61e449acb6..91c97f17abc52c002778735c5ff279d0fa6796a6 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.0.7.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.0.7.xsd @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- edited with XMLSpy v2016 rel. 2 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> +<!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> <xs:schema xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vectoParam="urn:tugraz:ivt:VectoAPI:ParameterDocumentation" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" targetNamespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.6" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd"> <xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.0.xsd"/> - <xs:complexType name="ADASOverspeedEngineeringType"> + <xs:complexType name="OverspeedEngineeringType"> <xs:sequence> <xs:element name="Mode" type="tns:ADASOverspeedModeType"/> <xs:element name="MinSpeed" type="tns:ADASOverspeedEcorollMinSpeedType" minOccurs="0"/> @@ -11,10 +11,13 @@ </xs:sequence> </xs:complexType> <xs:complexType name="AngledriveComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:AngledriveDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:AngledriveDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="AngledriveDataEngineeringType"> <xs:complexContent> @@ -39,10 +42,13 @@ </xs:complexContent> </xs:complexType> <xs:complexType name="AuxiliariesComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:AuxiliariesDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:AuxiliariesDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resoure" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="AuxiliariesDataEngineeringType"> <xs:complexContent> @@ -89,7 +95,7 @@ </xs:annotation> </xs:attribute> </xs:complexType> - <xs:complexType name="AxleComponentEngineeringType"> + <xs:complexType name="AxleWheelsDataEngineeringType"> <xs:complexContent> <xs:extension base="vdecdef:VectoSimulationComponent"> <xs:sequence> @@ -150,10 +156,13 @@ </xs:attribute> </xs:complexType> <xs:complexType name="AxlegearComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:AxlegearDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:AxlegearDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="AxlegearDataEngineeringType"> <xs:complexContent> @@ -186,61 +195,13 @@ </xs:complexContent> </xs:complexType> <xs:complexType name="AxleWheelsComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:AxleComponentEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> - </xs:complexType> - <xs:complexType name="ComponentResourceType"> - <xs:annotation> - <xs:appinfo> - <vectoParam:description> - <vectoParam:parameterId component="Job">002</vectoParam:parameterId> - <vectoParam:parameterId component="Vehicle">003</vectoParam:parameterId> - <vectoParam:parameterId component="Vehicle">004</vectoParam:parameterId> - <vectoParam:parameterId component="Vehicle">007</vectoParam:parameterId> - <vectoParam:parameterId component="Job">008</vectoParam:parameterId> - <vectoParam:parameterId component="Driver">009</vectoParam:parameterId> - <vectoParam:parameterId component="Retarder">054</vectoParam:parameterId> - <vectoParam:parameterId component="Engine/FLD">144</vectoParam:parameterId> - <vectoParam:parameterId component="Engine/FC-map">067</vectoParam:parameterId> - <vectoParam:parameterId component="Gearbox/Gear/Lossmap">079</vectoParam:parameterId> - <vectoParam:parameterId component="Gearbox/Gear">082</vectoParam:parameterId> - <vectoParam:comment>Only for file-based input data</vectoParam:comment> - <vectoParam:unit>-</vectoParam:unit> - </vectoParam:description> - </xs:appinfo> - </xs:annotation> - <xs:attribute name="component" use="required"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:enumeration value="Engine"/> - <xs:enumeration value="Gearbox"/> - <xs:enumeration value="Retarder"/> - <xs:enumeration value="Axlegear"/> - <xs:enumeration value="AxleWheels"/> - <xs:enumeration value="Auxiliaries"/> - <xs:enumeration value="Vehicle"/> - <xs:enumeration value="TorqueConverter"/> - <xs:enumeration value="Airdrag"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="type" use="required"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:enumeration value="xml"/> - <xs:enumeration value="json"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="file" use="required"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:minLength value="1"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:AxleWheelsDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="CrossWindCorrectionEntryType"> <xs:attribute name="vehicleSpeed" type="tns:CrosswindCorrectionVehicleSpeedType"/> @@ -254,10 +215,13 @@ <xs:attribute name="maxDeceleration" type="tns:DriverAccelerationCurveMaxDecelerationType" use="required"/> </xs:complexType> <xs:complexType name="EngineComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:EngineDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:EngineDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="EngineDataEngineeringType"> <xs:complexContent> @@ -349,25 +313,13 @@ </xs:attribute> </xs:complexType> <xs:complexType name="GearboxComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:GearboxDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - <xs:element name="TorqueConverter" minOccurs="0"> - <xs:complexType> - <xs:complexContent> - <xs:extension base="tns:TorqueConverterComponentEngineeringType"> - <xs:choice> - <xs:sequence> - <xs:element name="Data" type="tns:TorqueConverterEngineeringDataType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> - <xs:element name="Resource" type="tns:ComponentResourceType"/> - </xs:choice> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:element> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:GearboxDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="GearboxDataEngineeringType"> <xs:complexContent> @@ -443,7 +395,7 @@ </xs:simpleType> </xs:attribute> </xs:complexType> - <xs:complexType name="LookAheadCoastingType"> + <xs:complexType name="LookAheadCoastingEngineeringType"> <xs:sequence> <xs:element name="Enabled" type="tns:LookAheadCoastingEnabledType"/> <xs:element name="MinSpeed" minOccurs="0"> @@ -546,10 +498,13 @@ <xs:attribute name="ptoTorqueLoss" type="vdecdef:PTOTorqueLossType" use="required"/> </xs:complexType> <xs:complexType name="RetarderComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:RetarderDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:RetarderDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="RetarderDataEngineeringType"> <xs:complexContent> @@ -577,8 +532,7 @@ <xs:attribute name="downshiftSpeed" type="tns:GearboxShiftpolygonEntryDownshiftSpeedType" use="required"/> <xs:attribute name="upshiftSpeed" type="tns:GearboxShiftpolygonEntryUpshiftSpeedType" use="required"/> </xs:complexType> - <xs:complexType name="TorqueConverterComponentEngineeringType"/> - <xs:complexType name="TorqueConverterEngineeringDataType"> + <xs:complexType name="TorqueConverterDataEngineeringType"> <xs:complexContent> <xs:extension base="tns:EngineeringPowertrainComponentType"> <xs:sequence> @@ -629,6 +583,7 @@ <xs:choice> <xs:element name="Engine" type="tns:EngineComponentEngineeringType"/> <xs:element name="Gearbox" type="tns:GearboxComponentEngineeringType"/> + <xs:element name="TorqueConverter" type="tns:TorqueConverterComponentEngineeringType" minOccurs="0"/> <xs:element name="Angledrive" type="tns:AngledriveComponentEngineeringType"/> <xs:element name="Retarder" type="tns:RetarderComponentEngineeringType"/> <xs:element name="Axlegear" type="tns:AxlegearComponentEngineeringType"/> @@ -643,201 +598,80 @@ <xs:element name="EngineOnlyMode" type="tns:EngineOnlyModeType"/> <xs:choice> <xs:sequence> - <xs:choice> - <xs:element name="Vehicle" type="tns:VehicleEngineeringType"/> - <xs:element name="Resource" type="tns:ComponentResourceType"> - <xs:annotation> - <xs:documentation>P002 - ext. Resource</xs:documentation> - </xs:annotation> - </xs:element> - </xs:choice> - <xs:element name="Signature" minOccurs="0"/> - <xs:element name="DriverModel"> - <xs:complexType> - <xs:sequence> - <xs:element name="LookAheadCoasting" type="tns:LookAheadCoastingType"/> - <xs:element name="Overspeed" type="tns:ADASOverspeedEngineeringType"/> - <xs:element name="DriverAccelerationCurve" minOccurs="0"> - <xs:complexType> - <xs:choice> - <xs:element name="Entry" type="tns:DriverAccelerationCurveEntryType" minOccurs="2" maxOccurs="unbounded"/> - <xs:element name="Resource" type="tns:ExtResourceEngineeringType"> - <xs:annotation> - <xs:documentation>P009 - ext. Resource</xs:documentation> - </xs:annotation> - </xs:element> - </xs:choice> - </xs:complexType> - </xs:element> - <xs:element name="ShiftStrategyParameters" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="UpshiftMinAcceleration" type="tns:ShiftStrategyMinAccelerationUpshiftType"> - <xs:annotation> - <xs:documentation>P167 - [m/s²]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="DownshiftAfterUpshiftDelay" type="tns:ShiftDelayType"> - <xs:annotation> - <xs:documentation>P168 - [s]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="UpshiftAfterDownshiftDelay" type="tns:ShiftDelayType"> - <xs:annotation> - <xs:documentation>P169 - [s]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="TorqueReserve" type="tns:GearboxTorqueReserveType" minOccurs="0"/> - <xs:element name="TimeBetweenGearshift" type="tns:GearboxTimeBetweenGearshiftType" minOccurs="0"/> - <xs:element name="StartSpeed" type="tns:GearboxStartSpeedType" minOccurs="0"/> - <xs:element name="StartAcceleration" type="tns:GearboxStartAccelerationType" minOccurs="0"/> - <xs:element name="StartTorqueReserve" type="tns:GearboxStartTorqueReserveType" minOccurs="0"/> - <xs:element name="PowershiftShiftTime" type="tns:PowershiftShiftTimeType" minOccurs="0"> - <xs:annotation> - <xs:documentation>P188 - [s]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="PowershiftInertiaFactor" type="tns:PowershiftInertiaFactorType" minOccurs="0"> - <xs:annotation> - <xs:documentation>P189 - [-]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="CLUpshiftMinAcceleration" type="tns:CLUpshiftMinAccelerationType" minOccurs="0"> - <xs:annotation> - <xs:documentation>P190 - [1/s^2]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="CCUpshiftMinAcceleration" type="tns:CCUpshiftMinAccelerationType" minOccurs="0"> - <xs:annotation> - <xs:documentation>P191 - [1/s^2]</xs:documentation> - </xs:annotation> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> + <xs:element name="Vehicle" type="tns:VehicleEngineeringType"/> + <xs:element name="DriverModel" type="tns:DriverModelType"/> </xs:sequence> <xs:sequence> <xs:element name="Engine" type="tns:EngineComponentEngineeringType"/> <xs:element name="Signature" minOccurs="0"/> </xs:sequence> </xs:choice> - <xs:element name="MissionCycles"> - <xs:complexType> - <xs:sequence> - <xs:element name="Cycle" type="tns:ExtResourceEngineeringType" maxOccurs="unbounded"> - <xs:annotation> - <xs:documentation>P008 - ext. Resource</xs:documentation> - </xs:annotation> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> + <xs:element name="MissionCycles" type="tns:MissionCyclesType"/> </xs:sequence> <xs:attribute name="schemaVersion" use="required"/> </xs:complexType> <xs:complexType name="VehicleEngineeringType"> - <xs:complexContent> - <xs:extension base="tns:EngineeringPowertrainComponentType"> - <xs:sequence> - <xs:element name="VehicleCategory" type="vdecdef:VehicleCategoryType" minOccurs="0"> - <xs:annotation> - <xs:documentation>P036 - enum</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="AxleConfiguration" type="vdecdef:VehicleAxleConfigurationType"> - <xs:annotation> - <xs:documentation>P037 - enum</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="CurbMassChassis" type="vdecdef:VehicleCurbMassChassisType"> - <xs:annotation> - <xs:documentation>P038 - [kg]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="GrossVehicleMass" type="vdecdef:VehicleGrossVehicleMassType"> - <xs:annotation> - <xs:documentation>P041 - [kg]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="RetarderType" type="vdecdef:RetarderTypeType"> - <xs:annotation> - <xs:documentation>P052 - enum</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="RetarderRatio" type="vdecdef:RetarderRatioType" minOccurs="0"> - <xs:annotation> - <xs:documentation>P053 - [-]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="AngledriveType" type="vdecdef:AngledriveTypeType"/> - <xs:element name="PTOType" type="vdecdef:PTOTypeType"> - <xs:annotation> - <xs:documentation>P186 - enum</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="PTOIdleLossMap" type="tns:PTOIdleLossMapEngineeringType" minOccurs="0"/> - <xs:element name="PTOCycle" type="tns:PTOCycleEngineeringType" minOccurs="0"/> - <xs:element name="CurbMassExtra" type="tns:VehicleCurbWeightExtraType"/> - <xs:element name="Loading" type="tns:VehicleLoadingType"/> - <xs:element name="Components"> - <xs:complexType> - <xs:sequence> - <xs:choice> - <xs:element name="Engine" type="tns:EngineComponentEngineeringType"/> - <xs:element name="Resource" type="tns:ComponentResourceType"> - <xs:annotation> - <xs:documentation>P003 - ext. Resource</xs:documentation> - </xs:annotation> - </xs:element> - </xs:choice> - <xs:choice> - <xs:element name="Gearbox" type="tns:GearboxComponentEngineeringType"/> - <xs:element name="Resource" type="tns:ComponentResourceType"> - <xs:annotation> - <xs:documentation>P004 - ext. Resource</xs:documentation> - </xs:annotation> - </xs:element> - </xs:choice> - <xs:element name="Angledrive" type="tns:AngledriveComponentEngineeringType" minOccurs="0"/> - <xs:element name="Retarder" type="tns:RetarderComponentEngineeringType" minOccurs="0"/> - <xs:choice> - <xs:element name="Axlegear" type="tns:AxlegearComponentEngineeringType"/> - <xs:element name="Resource" type="tns:ComponentResourceType"/> - </xs:choice> - <xs:choice> - <xs:element name="AxleWheels"> - <xs:complexType> - <xs:complexContent> - <xs:extension base="tns:AxleWheelsComponentEngineeringType"/> - </xs:complexContent> - </xs:complexType> - </xs:element> - <xs:element name="Resource" type="tns:ComponentResourceType"/> - </xs:choice> - <xs:choice> - <xs:element name="Auxiliaries" type="tns:AuxiliariesComponentEngineeringType"/> - <xs:element name="Resource" type="tns:ComponentResourceType"/> - </xs:choice> - <xs:choice> - <xs:element name="AirDrag" type="tns:AirDragComponentEngineeringType"/> - <xs:element name="Resource" type="tns:ComponentResourceType"/> - </xs:choice> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="AdvancedDriverAssist"> - <xs:complexType> - <xs:sequence> - <xs:element name="EngineStartStop" type="tns:EngineStartStopEngineeringType"/> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:extension> - </xs:complexContent> + <xs:choice> + <xs:sequence> + <xs:group ref="tns:GeneralComponentDataElements"/> + <xs:element name="VehicleCategory" type="vdecdef:VehicleCategoryType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P036 - enum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="AxleConfiguration" type="vdecdef:VehicleAxleConfigurationType"> + <xs:annotation> + <xs:documentation>P037 - enum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CurbMassChassis" type="vdecdef:VehicleCurbMassChassisType"> + <xs:annotation> + <xs:documentation>P038 - [kg]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="GrossVehicleMass" type="vdecdef:VehicleGrossVehicleMassType"> + <xs:annotation> + <xs:documentation>P041 - [kg]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="RetarderType" type="vdecdef:RetarderTypeType"> + <xs:annotation> + <xs:documentation>P052 - enum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="RetarderRatio" type="vdecdef:RetarderRatioType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P053 - [-]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="AngledriveType" type="vdecdef:AngledriveTypeType"/> + <xs:element name="PTOType" type="vdecdef:PTOTypeType"> + <xs:annotation> + <xs:documentation>P186 - enum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="PTOIdleLossMap" type="tns:PTOIdleLossMapEngineeringType" minOccurs="0"/> + <xs:element name="PTOCycle" type="tns:PTOCycleEngineeringType" minOccurs="0"/> + <xs:element name="CurbMassExtra" type="tns:VehicleCurbWeightExtraType"/> + <xs:element name="Loading" type="tns:VehicleLoadingType"/> + <xs:element name="AdvancedDriverAssist"> + <xs:complexType> + <xs:sequence> + <xs:element name="EngineStartStop" type="tns:EngineStartStopEngineeringType"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Components" type="tns:VehicleComponentsType"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> + <xs:attribute name="id"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:minLength value="5"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> </xs:complexType> <xs:simpleType name="ADASOverspeedEcorollAllowedOverspeedType"> <xs:annotation> @@ -1884,9 +1718,106 @@ </xs:complexContent> </xs:complexType> <xs:complexType name="AirDragComponentEngineeringType"> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:AirDragDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="MissionCyclesType"> + <xs:sequence> + <xs:element name="Cycle" type="tns:ExtResourceEngineeringType" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>P008 - ext. Resource</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DriverAccelerationCurveEngineeringType"> + <xs:choice> + <xs:element name="Entry" type="tns:DriverAccelerationCurveEntryType" minOccurs="2" maxOccurs="unbounded"/> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"> + <xs:annotation> + <xs:documentation>P009 - ext. Resource</xs:documentation> + </xs:annotation> + </xs:element> + </xs:choice> + </xs:complexType> + <xs:complexType name="ShiftStrategyParametersEngineeringType"> + <xs:sequence> + <xs:element name="UpshiftMinAcceleration" type="tns:ShiftStrategyMinAccelerationUpshiftType"> + <xs:annotation> + <xs:documentation>P167 - [m/s²]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DownshiftAfterUpshiftDelay" type="tns:ShiftDelayType"> + <xs:annotation> + <xs:documentation>P168 - [s]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="UpshiftAfterDownshiftDelay" type="tns:ShiftDelayType"> + <xs:annotation> + <xs:documentation>P169 - [s]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="TorqueReserve" type="tns:GearboxTorqueReserveType" minOccurs="0"/> + <xs:element name="TimeBetweenGearshift" type="tns:GearboxTimeBetweenGearshiftType" minOccurs="0"/> + <xs:element name="StartSpeed" type="tns:GearboxStartSpeedType" minOccurs="0"/> + <xs:element name="StartAcceleration" type="tns:GearboxStartAccelerationType" minOccurs="0"/> + <xs:element name="StartTorqueReserve" type="tns:GearboxStartTorqueReserveType" minOccurs="0"/> + <xs:element name="PowershiftShiftTime" type="tns:PowershiftShiftTimeType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P188 - [s]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="PowershiftInertiaFactor" type="tns:PowershiftInertiaFactorType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P189 - [-]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CLUpshiftMinAcceleration" type="tns:CLUpshiftMinAccelerationType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P190 - [1/s^2]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CCUpshiftMinAcceleration" type="tns:CCUpshiftMinAccelerationType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P191 - [1/s^2]</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DriverModelType"> + <xs:sequence> + <xs:element name="LookAheadCoasting" type="tns:LookAheadCoastingEngineeringType"/> + <xs:element name="Overspeed" type="tns:OverspeedEngineeringType"/> + <xs:element name="DriverAccelerationCurve" type="tns:DriverAccelerationCurveEngineeringType" minOccurs="0"/> + <xs:element name="ShiftStrategyParameters" type="tns:ShiftStrategyParametersEngineeringType" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="VehicleComponentsType"> <xs:sequence> - <xs:element name="Data" type="tns:AirDragDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> + <xs:element name="Engine" type="tns:EngineComponentEngineeringType"/> + <xs:element name="Gearbox" type="tns:GearboxComponentEngineeringType"/> + <xs:element name="TorqueConverter" type="tns:TorqueConverterComponentEngineeringType" minOccurs="0"/> + <xs:element name="Angledrive" type="tns:AngledriveComponentEngineeringType" minOccurs="0"/> + <xs:element name="Retarder" type="tns:RetarderComponentEngineeringType" minOccurs="0"/> + <xs:element name="Axlegear" type="tns:AxlegearComponentEngineeringType"/> + <xs:element name="AxleWheels" type="tns:AxleWheelsComponentEngineeringType"/> + <xs:element name="Auxiliaries" type="tns:AuxiliariesComponentEngineeringType"/> + <xs:element name="AirDrag" type="tns:AirDragComponentEngineeringType"/> </xs:sequence> </xs:complexType> + <xs:complexType name="TorqueConverterComponentEngineeringType"> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:TorqueConverterDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="VehicleDataEngineeringType"/> </xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd index 1f1adf06fc37c9ed7e2ed9781d2736e1eef38ff7..475e3ed238798310f668e8a01137cd579868041b 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd @@ -90,16 +90,7 @@ </xs:complexType> <xs:complexType name="AbstractVectoComponentEngineeringType" abstract="true"/> <xs:complexType name="AbstractVehicleComponentsType" abstract="true"/> - <xs:complexType name="AbstractVehicleEngineeringType" abstract="true"> - <xs:sequence> - <xs:element name="Manufacturer" type="vdecdef:ManufacturerType"/> - <xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"/> - <xs:element name="Model" type="vdecdef:ModelType"/> - <xs:element name="VIN" type="vdecdef:VINType"/> - <xs:element name="Date" type="vdecdef:DateTimeWithTimezone"/> - </xs:sequence> - <xs:attribute name="id"/> - </xs:complexType> + <xs:complexType name="AbstractVehicleEngineeringType" abstract="true"/> <xs:complexType name="AdvancedDriverAssistEngineeringType"> <xs:complexContent> <xs:extension base="tns:AbstractAdvancedDriverAssistEngineeringType"> @@ -110,10 +101,13 @@ </xs:complexContent> </xs:complexType> <xs:complexType name="AirDragComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:AbstractAirdragDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:AbstractAirdragDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="AirDragDataEngineeringType"> <xs:complexContent> @@ -144,10 +138,13 @@ </xs:complexContent> </xs:complexType> <xs:complexType name="AngledriveComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:AbstractAngledriveDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:AbstractAngledriveDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="AngledriveDataEngineeringType"> <xs:complexContent> @@ -172,9 +169,10 @@ </xs:complexContent> </xs:complexType> <xs:complexType name="AuxiliariesComponentEngineeringType"> - <xs:sequence> + <xs:choice> <xs:element name="Data" type="tns:AbstractAuxiliariesDataEngineeringType"/> - </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="AuxiliariesDataEngineeringType"> <xs:complexContent> @@ -225,7 +223,7 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="AxleComponentEngineeringType"> + <xs:complexType name="AxleWheelsDataEngineeringType"> <xs:complexContent> <xs:extension base="tns:AbstractAxleWheelsDataType"> <xs:sequence> @@ -276,10 +274,13 @@ </xs:complexContent> </xs:complexType> <xs:complexType name="AxlegearComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:AbstractAxlegearDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:AbstractAxlegearDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="AxlegearDataEngineeringType"> <xs:complexContent> @@ -312,9 +313,10 @@ </xs:complexContent> </xs:complexType> <xs:complexType name="AxleWheelsComponentEngineeringType"> - <xs:sequence> + <xs:choice> <xs:element name="Data" type="tns:AbstractAxleWheelsDataType"/> - </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="ComponentResourceType"> <xs:annotation> @@ -406,10 +408,13 @@ </xs:complexContent> </xs:complexType> <xs:complexType name="EngineComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:AbstractEngineDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:AbstractEngineDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="EngineDataEngineeringType"> <xs:complexContent> @@ -506,17 +511,13 @@ </xs:attribute> </xs:complexType> <xs:complexType name="GearboxComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:AbstractGearboxDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - <xs:element name="TorqueConverter" minOccurs="0"> - <xs:complexType> - <xs:complexContent> - <xs:extension base="tns:TorqueConverterComponentEngineeringType"/> - </xs:complexContent> - </xs:complexType> - </xs:element> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:AbstractGearboxDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="GearboxDataEngineeringType"> <xs:complexContent> @@ -695,10 +696,13 @@ <xs:attribute name="ptoTorqueLoss" type="vdecdef:PTOTorqueLossType" use="required"/> </xs:complexType> <xs:complexType name="RetarderComponentEngineeringType"> - <xs:sequence> - <xs:element name="Data" type="tns:AbstractRetarderDataEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Data" type="tns:AbstractRetarderDataEngineeringType"/> + <xs:element name="Signature" minOccurs="0"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> </xs:complexType> <xs:complexType name="RetarderDataEngineeringType"> <xs:complexContent> @@ -793,7 +797,7 @@ <xs:element name="Resource" type="tns:ComponentResourceType"/> </xs:choice> </xs:complexType> - <xs:complexType name="TorqueConverterEngineeringDataType"> + <xs:complexType name="TorqueConverterDataEngineeringType"> <xs:complexContent> <xs:extension base="tns:AbstractTorqueConverterDataEngineeringType"> <xs:sequence> @@ -877,6 +881,7 @@ <xs:element name="Auxiliaries" type="tns:AuxiliariesComponentEngineeringType"/> <xs:element name="Vehicle" type="tns:AbstractVehicleEngineeringType"/> <xs:element name="AirDrag" type="tns:AirDragComponentEngineeringType"/> + <xs:element name="TorqueConverter" type="tns:TorqueConverterComponentEngineeringType"/> </xs:choice> <xs:attribute name="schemaVersion"/> </xs:extension> @@ -888,32 +893,18 @@ <xs:choice> <xs:sequence> <xs:choice> - <xs:element name="Vehicle" type="tns:AbstractVehicleEngineeringType"/> + <xs:element name="Vehicle" type="tns:VehicleEngineeringType"/> <xs:element name="Resource" type="tns:ComponentResourceType"> <xs:annotation> <xs:documentation>P002 - ext. Resource</xs:documentation> </xs:annotation> </xs:element> </xs:choice> - <xs:element name="Signature" minOccurs="0"/> <xs:element name="DriverModel" type="tns:AbstractDriverModelEngineeringType"/> </xs:sequence> - <xs:sequence> - <xs:element name="Engine" type="tns:EngineComponentEngineeringType"/> - <xs:element name="Signature" minOccurs="0"/> - </xs:sequence> + <xs:element name="Engine" type="tns:EngineComponentEngineeringType"/> </xs:choice> - <xs:element name="MissionCycles"> - <xs:complexType> - <xs:sequence> - <xs:element name="Cycle" type="tns:ExtResourceEngineeringType" maxOccurs="unbounded"> - <xs:annotation> - <xs:documentation>P008 - ext. Resource</xs:documentation> - </xs:annotation> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> + <xs:element name="MissionCycles" type="tns:MissionCyclesType"/> </xs:sequence> <xs:attribute name="schemaVersion"/> </xs:complexType> @@ -921,45 +912,27 @@ <xs:complexContent> <xs:extension base="tns:AbstractVehicleComponentsType"> <xs:sequence> - <xs:choice> - <xs:element name="Engine" type="tns:EngineComponentEngineeringType"/> - <xs:element name="Resource" type="tns:ComponentResourceType"> - <xs:annotation> - <xs:documentation>P003 - ext. Resource</xs:documentation> - </xs:annotation> - </xs:element> - </xs:choice> - <xs:choice> - <xs:element name="Gearbox" type="tns:GearboxComponentEngineeringType"/> - <xs:element name="Resource" type="tns:ComponentResourceType"> - <xs:annotation> - <xs:documentation>P004 - ext. Resource</xs:documentation> - </xs:annotation> - </xs:element> - </xs:choice> + <xs:element name="Engine" type="tns:EngineComponentEngineeringType"/> + <xs:element name="Gearbox" type="tns:GearboxComponentEngineeringType"/> + <xs:element name="TorqueConverter" minOccurs="0"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="tns:TorqueConverterComponentEngineeringType"/> + </xs:complexContent> + </xs:complexType> + </xs:element> <xs:element name="Angledrive" type="tns:AngledriveComponentEngineeringType" minOccurs="0"/> <xs:element name="Retarder" type="tns:RetarderComponentEngineeringType" minOccurs="0"/> - <xs:choice> - <xs:element name="Axlegear" type="tns:AxlegearComponentEngineeringType"/> - <xs:element name="Resource" type="tns:ComponentResourceType"/> - </xs:choice> - <xs:choice> - <xs:element name="AxleWheels"> - <xs:complexType> - <xs:complexContent> - <xs:extension base="tns:AxleWheelsComponentEngineeringType"/> - </xs:complexContent> - </xs:complexType> - </xs:element> - </xs:choice> - <xs:choice> - <xs:element name="Auxiliaries" type="tns:AuxiliariesComponentEngineeringType"/> - <xs:element name="Resource" type="tns:ComponentResourceType"/> - </xs:choice> - <xs:choice> - <xs:element name="AirDrag" type="tns:AirDragComponentEngineeringType"/> - <xs:element name="Resource" type="tns:ComponentResourceType"/> - </xs:choice> + <xs:element name="Axlegear" type="tns:AxlegearComponentEngineeringType"/> + <xs:element name="AxleWheels"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="tns:AxleWheelsComponentEngineeringType"/> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="Auxiliaries" type="tns:AuxiliariesComponentEngineeringType"/> + <xs:element name="AirDrag" type="tns:AirDragComponentEngineeringType"/> </xs:sequence> </xs:extension> </xs:complexContent> @@ -967,50 +940,59 @@ <xs:complexType name="VehicleEngineeringType"> <xs:complexContent> <xs:extension base="tns:AbstractVehicleEngineeringType"> - <xs:sequence> - <xs:element name="VehicleCategory" type="vdecdef:VehicleCategoryType" minOccurs="0"> - <xs:annotation> - <xs:documentation>P036 - enum</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="AxleConfiguration" type="vdecdef:VehicleAxleConfigurationType"> - <xs:annotation> - <xs:documentation>P037 - enum</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="CurbMassChassis" type="vdecdef:VehicleCurbMassChassisType"> - <xs:annotation> - <xs:documentation>P038 - [kg]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="GrossVehicleMass" type="vdecdef:VehicleGrossVehicleMassType"> - <xs:annotation> - <xs:documentation>P041 - [kg]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="RetarderType" type="vdecdef:RetarderTypeType"> - <xs:annotation> - <xs:documentation>P052 - enum</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="RetarderRatio" type="vdecdef:RetarderRatioType" minOccurs="0"> - <xs:annotation> - <xs:documentation>P053 - [-]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="AngledriveType" type="vdecdef:AngledriveTypeType"/> - <xs:element name="PTOType" type="vdecdef:PTOTypeType"> - <xs:annotation> - <xs:documentation>P186 - enum</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="PTOIdleLossMap" type="tns:PTOIdleLossMapEngineeringType" minOccurs="0"/> - <xs:element name="PTOCycle" type="tns:PTOCycleEngineeringType" minOccurs="0"/> - <xs:element name="CurbMassExtra" type="tns:VehicleCurbWeightExtraType"/> - <xs:element name="Loading" type="tns:VehicleLoadingType"/> - <xs:element name="AdvancedDriverAssist" type="tns:AbstractAdvancedDriverAssistEngineeringType" minOccurs="0"/> - <xs:element name="Components" type="tns:AbstractVehicleComponentsType"/> - </xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element name="Manufacturer" type="vdecdef:ManufacturerType"/> + <xs:element name="ManufacturerAddress" type="vdecdef:ManufacturerAddressType"/> + <xs:element name="Model" type="vdecdef:ModelType"/> + <xs:element name="VIN" type="vdecdef:VINType"/> + <xs:element name="Date" type="vdecdef:DateTimeWithTimezone"/> + <xs:element name="VehicleCategory" type="vdecdef:VehicleCategoryType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P036 - enum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="AxleConfiguration" type="vdecdef:VehicleAxleConfigurationType"> + <xs:annotation> + <xs:documentation>P037 - enum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CurbMassChassis" type="vdecdef:VehicleCurbMassChassisType"> + <xs:annotation> + <xs:documentation>P038 - [kg]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="GrossVehicleMass" type="vdecdef:VehicleGrossVehicleMassType"> + <xs:annotation> + <xs:documentation>P041 - [kg]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="RetarderType" type="vdecdef:RetarderTypeType"> + <xs:annotation> + <xs:documentation>P052 - enum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="RetarderRatio" type="vdecdef:RetarderRatioType" minOccurs="0"> + <xs:annotation> + <xs:documentation>P053 - [-]</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="AngledriveType" type="vdecdef:AngledriveTypeType"/> + <xs:element name="PTOType" type="vdecdef:PTOTypeType"> + <xs:annotation> + <xs:documentation>P186 - enum</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="PTOIdleLossMap" type="tns:PTOIdleLossMapEngineeringType" minOccurs="0"/> + <xs:element name="PTOCycle" type="tns:PTOCycleEngineeringType" minOccurs="0"/> + <xs:element name="CurbMassExtra" type="tns:VehicleCurbWeightExtraType"/> + <xs:element name="Loading" type="tns:VehicleLoadingType"/> + <xs:element name="AdvancedDriverAssist" type="tns:AbstractAdvancedDriverAssistEngineeringType" minOccurs="0"/> + <xs:element name="Components" type="tns:AbstractVehicleComponentsType"/> + </xs:sequence> + <xs:element name="Resource" type="tns:ExtResourceEngineeringType"/> + </xs:choice> + <xs:attribute name="id"/> </xs:extension> </xs:complexContent> </xs:complexType> @@ -2023,4 +2005,13 @@ </xs:element> </xs:sequence> </xs:group> + <xs:complexType name="MissionCyclesType"> + <xs:sequence> + <xs:element name="Cycle" type="tns:ExtResourceEngineeringType" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>P008 - ext. Resource</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> </xs:schema> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.xsd index e05d7abd16c6e02e6693566cc97365400ba5b4fe..bef3dbcec3194b247eab0b1e70e90775dee0fdff 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.xsd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) --> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" xmlns:v1.0TEST="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0TEST" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions"> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" xmlns:v1.0TEST="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0TEST" xmlns:ns1="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" targetNamespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- This is a convienience file that imports all supported declaration definitions diff --git a/VectoCore/VectoCore/Utils/Ninject/UseFirstArgumentAsInstanceProvider.cs b/VectoCore/VectoCore/Utils/Ninject/UseFirstArgumentAsInstanceProvider.cs index 20a1ddb8d9cc73912084d647fdda1ad6e21ceb5a..2efdebfc8e52bc09026122fe65cd508e5ca8a66a 100644 --- a/VectoCore/VectoCore/Utils/Ninject/UseFirstArgumentAsInstanceProvider.cs +++ b/VectoCore/VectoCore/Utils/Ninject/UseFirstArgumentAsInstanceProvider.cs @@ -1,7 +1,10 @@ -using System.Linq; +using System; +using System.Linq; using System.Reflection; using Ninject.Extensions.Factory; +using Ninject.Extensions.Factory.Factory; using Ninject.Parameters; +using TUGraz.VectoCommon.Exceptions; namespace TUGraz.VectoCore.Utils.Ninject { @@ -20,6 +23,20 @@ namespace TUGraz.VectoCore.Utils.Ninject return base.GetConstructorArguments(methodInfo, arguments).Skip(1).ToArray(); } + #region Overrides of StandardInstanceProvider + + public override object GetInstance(IInstanceResolver instanceResolver, MethodInfo methodInfo, object[] arguments) + { + try { + return base.GetInstance(instanceResolver, methodInfo, arguments); + } catch (Exception e) { + throw new VectoException("failed to create instance for '{1}' via '{0}' version '{2}'", e, methodInfo.Name, methodInfo.ReturnType.Name, arguments[0]); + //throw e; + } + } + + #endregion + #endregion } } diff --git a/VectoCore/VectoCore/Utils/XMLDefinitions.cs b/VectoCore/VectoCore/Utils/XMLDefinitions.cs index 6ce998538cdde1fc546f325c310faaa6e03e8136..d54fa72ecb1e079f6a643a578d53ff349b529e8d 100644 --- a/VectoCore/VectoCore/Utils/XMLDefinitions.cs +++ b/VectoCore/VectoCore/Utils/XMLDefinitions.cs @@ -23,30 +23,37 @@ namespace TUGraz.VectoCore.Utils public const string SCHEMA_BASE_LOCATION = "https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/"; - public const string ENGINEERING_INPUT_NAMESPACE_URI_V07 = "urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7"; + public const string ENGINEERING_NAMESPACE = "urn:tugraz:ivt:VectoAPI:EngineeringDefinitions"; - public const string ENGINEERING_DEFINITONS_NAMESPACE_V07 = "urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7"; + public const string ENGINEERING_INPUT_NAMESPACE_URI_V07 = "urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7"; public const string ENGINEERING_INPUT_NAMESPACE_URI_V10 = "urn:tugraz:ivt:VectoAPI:EngineeringInput:v1.0"; - public const string ENGINEERING_DEFINITONS_NAMESPACE_V10 = "urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0"; + public const string ENGINEERING_DEFINITONS_NAMESPACE_V07 = ENGINEERING_NAMESPACE + ":v0.7"; + + public const string ENGINEERING_DEFINITONS_NAMESPACE_V10 = ENGINEERING_NAMESPACE + ":v1.0"; + + public const string ENGINEERING_DEFINITONS_NAMESPACE_V10_TEST = ENGINEERING_NAMESPACE + ":v1.0TEST"; - public const string ENGINEERING_DEFINITONS_NAMESPACE_V10_TEST = "urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0TEST"; + public const string DECLARATION_NAMESPACE = "urn:tugraz:ivt:VectoAPI:DeclarationDefinitions"; + + public const string DECLARATION_DEFINITIONS_NAMESPACE_URI_V10 = DECLARATION_NAMESPACE + ":v1.0"; + public const string DECLARATION_DEFINITIONS_NAMESPACE_URI_V20 = DECLARATION_NAMESPACE + ":v2.0"; - public const string DECLARATION_DEFINITIONS_NAMESPACE_URI_V10 = "urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0"; + public const string DECLARATION_DEFINITIONS_NAMESPACE_URI_V21 = DECLARATION_NAMESPACE + ":v2.1"; - public const string DECLARATION_DEFINITIONS_NAMESPACE_URI_V20 = "urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"; + public const string DECLARATION_DEFINITIONS_NAMESPACE_URI_V22 = DECLARATION_NAMESPACE + ":v2.2"; - public const string DECLARATION_DEFINITIONS_NAMESPACE_URI_V21 = "urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1"; - public const string DECLARATION_DEFINITIONS_NAMESPACE_URI_V22 = "urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.2"; + public const string DECLARATION_INPUT_NAMESPACE = "urn:tugraz:ivt:VectoAPI:DeclarationInput"; + public const string DECLARATION_INPUT_NAMESPACE_URI_V10 = DECLARATION_INPUT_NAMESPACE + ":v1.0"; - public const string DECLARATION_INPUT_NAMESPACE_URI_V10 = "urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0"; + public const string DECLARATION_INPUT_NAMESPACE_URI_V20 = DECLARATION_INPUT_NAMESPACE + ":v2.0"; - public const string DECLARATION_COMPONENT_NAMESPACE_URI_V10 = "urn:tugraz:ivt:VectoAPI:DeclarationComponent:v1.0"; +// public const string DECLARATION_COMPONENT_NAMESPACE_URI_V10 = "urn:tugraz:ivt:VectoAPI:DeclarationComponent:v1.0"; public const string DECLARATION_MANUFACTURER_REPORT_V05 = "urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.5"; @@ -64,8 +71,8 @@ namespace TUGraz.VectoCore.Utils private static Dictionary<XmlDocumentType, string> schemaFilenames = new Dictionary<XmlDocumentType, string>() { {XmlDocumentType.DeclarationJobData, "VectoDeclarationJob.xsd"}, - {XmlDocumentType.DeclarationComponentData, "VectoComponent.xsd"}, - {XmlDocumentType.EngineeringJobData, "VectoEngineeringInput.xsd" }, + {XmlDocumentType.DeclarationComponentData, "VectoDeclarationComponent.xsd"}, + {XmlDocumentType.EngineeringJobData, "VectoEngineeringJob.xsd" }, {XmlDocumentType.EngineeringComponentData, "VectoEngineeringComponent.xsd" }, {XmlDocumentType.ManufacturerReport, "VectoOutputManufacturer{0}.xsd" }, {XmlDocumentType.CustomerReport , "VectoOutputCustomer{0}.xsd"}, diff --git a/VectoCore/VectoCore/Utils/XMLHelper.cs b/VectoCore/VectoCore/Utils/XMLHelper.cs index 8cbd98e54913ac517867e5550a7f4a7deebabb31..8202eb1ddae03d868ffb9cb73406fbc1f1529c80 100644 --- a/VectoCore/VectoCore/Utils/XMLHelper.cs +++ b/VectoCore/VectoCore/Utils/XMLHelper.cs @@ -58,10 +58,10 @@ namespace TUGraz.VectoCore.Utils return null; } - internal static string GetSchemaVersion(XmlSchemaType type) - { - return GetVersionFromNamespaceUri(type.QualifiedName.Namespace); - } + //internal static string GetSchemaVersion(XmlSchemaType type) + //{ + // return GetVersionFromNamespaceUri(type.QualifiedName.Namespace); + //} //public static string GetSchemaVersion(XmlElement node) //{ @@ -80,9 +80,10 @@ namespace TUGraz.VectoCore.Utils return GetVersionFromNamespaceUri(node.NamespaceURI); } - public static string GetVersionFromNamespaceUri(string namespaceUri) + public static string GetVersionFromNamespaceUri(XNamespace namespaceUri) { - return namespaceUri.Split(':').Last().Replace("v", ""); + const string versionPrefix = "v"; + return namespaceUri.NamespaceName.Split(':').Last(x => x.StartsWith(versionPrefix)).Replace(versionPrefix, string.Empty); } public static object[] ValueAsUnit(Kilogram mass, string unit, uint? decimals = 0) @@ -266,6 +267,15 @@ namespace TUGraz.VectoCore.Utils } } - + + public static string CombineNamespace(XNamespace xmlNamespace, string type) + { + return string.Join(":", xmlNamespace.NamespaceName, type); + } + + public static string GetXsdType(XmlSchemaType schemaInfoSchemaType) + { + return string.Join(":", schemaInfoSchemaType.QualifiedName.Namespace, schemaInfoSchemaType.QualifiedName.Name); + } } } diff --git a/VectoCore/VectoCore/Utils/XMLValidator.cs b/VectoCore/VectoCore/Utils/XMLValidator.cs index d8360e207a61c543cb3b77b0de06f56ca0519da3..1956b61f67486d587f7fb3b5d8e7f0c50733a3c6 100644 --- a/VectoCore/VectoCore/Utils/XMLValidator.cs +++ b/VectoCore/VectoCore/Utils/XMLValidator.cs @@ -33,6 +33,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using System.Text; using System.Threading.Tasks; using System.Xml; using System.Xml.Schema; @@ -46,7 +47,7 @@ namespace TUGraz.VectoCore.Utils private readonly Action<XmlSeverityType, ValidationEvent> _validationErrorAction; private readonly Action<bool> _resultAction; private bool _valid; - private readonly XmlDocument _doc; + private XmlDocument _doc; private XMLValidator(Action<bool> resultaction, Action<XmlSeverityType, ValidationEvent> validationErrorAction) { @@ -78,9 +79,25 @@ namespace TUGraz.VectoCore.Utils } var version = XMLHelper.GetSchemaVersion(_doc.DocumentElement); - + _doc.Schemas = GetXMLSchema(docType, version); _doc.Validate(ValidationCallBack); + //var settings = new XmlReaderSettings(); + //settings.Schemas = GetXMLSchema(docType, version); + //settings.ValidationType = ValidationType.Schema; + //settings.ValidationFlags = + // XmlSchemaValidationFlags.ReportValidationWarnings | XmlSchemaValidationFlags.AllowXmlAttributes; + //settings.ValidationEventHandler += ValidationCallBack; + //var m = new MemoryStream(); + //var w = new XmlTextWriter(m, Encoding.UTF8); + //_doc.WriteTo(w); + //w.Flush(); + //m.Flush(); + //m.Seek(0, SeekOrigin.Begin); + //var r = new XmlTextReader(m); + //var reader = XmlReader.Create(r, settings); + //_doc = new XmlDocument(); + //_doc.Load(reader); return _valid; } diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index 6261ca2976c21b13cd65102fc5861b7f085959fb..713b77f800607bd86bb0cf0cebb8e7367c4f5abe 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -578,10 +578,6 @@ <SubType>Designer</SubType> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </EmbeddedResource> - <EmbeddedResource Include="Resources\XSD\VectoEngineeringInput.xsd"> - <SubType>Designer</SubType> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </EmbeddedResource> <EmbeddedResource Include="Resources\XSD\VectoOutputManufacturer.xsd"> <SubType>Designer</SubType> </EmbeddedResource> @@ -680,6 +676,9 @@ <EmbeddedResource Include="Resources\XSD\VectoEngineeringDefinitions.xsd"> <SubType>Designer</SubType> </EmbeddedResource> + <EmbeddedResource Include="Resources\XSD\VectoEngineeringJob.xsd"> + <SubType>Designer</SubType> + </EmbeddedResource> <None Include="Utils\VectoVersionCore.tt"> <Generator>TextTemplatingFileGenerator</Generator> <LastGenOutput>VectoVersionCore.cs</LastGenOutput> diff --git a/VectoCore/VectoCoreTest/FileIO/JsonReadTest.cs b/VectoCore/VectoCoreTest/FileIO/JsonReadTest.cs index 4e2a9c7767d4b065dedc3926556bbcc21a4f5461..a7258ae84274e2fbd1cdcfb99710f35b63382c2f 100644 --- a/VectoCore/VectoCoreTest/FileIO/JsonReadTest.cs +++ b/VectoCore/VectoCoreTest/FileIO/JsonReadTest.cs @@ -174,7 +174,7 @@ namespace TUGraz.VectoCore.Tests.FileIO var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider, MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), (IGearshiftEngineeringInputData)inputProvider, 2.1, - 0.5.SI<Meter>(), VehicleCategory.RigidTruck); + 0.5.SI<Meter>(), VehicleCategory.RigidTruck, (ITorqueConverterEngineeringInputData)inputProvider); Assert.AreEqual(ratios.Length, gbxData.Gears.Count); // interpreted as gearbox with first and second gear using TC (due to gear ratios) @@ -199,7 +199,7 @@ namespace TUGraz.VectoCore.Tests.FileIO var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider, MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), (IGearshiftEngineeringInputData)inputProvider, 2.1, - 0.5.SI<Meter>(), VehicleCategory.RigidTruck); + 0.5.SI<Meter>(), VehicleCategory.RigidTruck, (ITorqueConverterEngineeringInputData)inputProvider); Assert.AreEqual(ratios.Length, gbxData.Gears.Count); Assert.IsTrue(gbxData.Gears[1].HasLockedGear); @@ -226,7 +226,7 @@ namespace TUGraz.VectoCore.Tests.FileIO var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider, MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), (IGearshiftEngineeringInputData)inputProvider, 2.1, - 0.5.SI<Meter>(), VehicleCategory.RigidTruck); + 0.5.SI<Meter>(), VehicleCategory.RigidTruck, (ITorqueConverterEngineeringInputData)inputProvider); Assert.AreEqual(ratios.Length, gbxData.Gears.Count); Assert.IsTrue(gbxData.Gears[1].HasLockedGear); @@ -252,7 +252,7 @@ namespace TUGraz.VectoCore.Tests.FileIO var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider, MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), (IGearshiftEngineeringInputData)inputProvider, 2.1, - 0.5.SI<Meter>(), VehicleCategory.RigidTruck); + 0.5.SI<Meter>(), VehicleCategory.RigidTruck, (ITorqueConverterEngineeringInputData)inputProvider); Assert.AreEqual(ratios.Length, gbxData.Gears.Count); Assert.IsFalse(gbxData.Gears[1].HasLockedGear); @@ -280,7 +280,7 @@ namespace TUGraz.VectoCore.Tests.FileIO var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider, MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), (IGearshiftEngineeringInputData)inputProvider, 2.1, - 0.5.SI<Meter>(), VehicleCategory.InterurbanBus); + 0.5.SI<Meter>(), VehicleCategory.InterurbanBus, (ITorqueConverterEngineeringInputData)inputProvider); Assert.AreEqual(ratios.Length, gbxData.Gears.Count); Assert.IsTrue(gbxData.Gears[1].HasLockedGear); @@ -308,7 +308,7 @@ namespace TUGraz.VectoCore.Tests.FileIO var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider, MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), (IGearshiftEngineeringInputData)inputProvider, 2.1, - 0.5.SI<Meter>(), VehicleCategory.InterurbanBus); + 0.5.SI<Meter>(), VehicleCategory.InterurbanBus, (ITorqueConverterEngineeringInputData)inputProvider); Assert.AreEqual(ratios.Length, gbxData.Gears.Count); Assert.IsFalse(gbxData.Gears[1].HasLockedGear); diff --git a/VectoCore/VectoCoreTest/FileIO/JsonWriteTest.cs b/VectoCore/VectoCoreTest/FileIO/JsonWriteTest.cs index 287a5b112cdb4cda2c7486e8834d61fa66c50a10..a12d7a7f3021de1e32df601ba98e30d0c03c6298 100644 --- a/VectoCore/VectoCoreTest/FileIO/JsonWriteTest.cs +++ b/VectoCore/VectoCoreTest/FileIO/JsonWriteTest.cs @@ -112,7 +112,7 @@ namespace TUGraz.VectoCore.Tests.FileIO var writer = JSONFileWriter.Instance; VECTO_Global.Cfg = new VECTO.Configuration() { DeclMode = true }; - writer.SaveGearbox(components.GearboxInputData, components.AxleGearInputData, (IGearshiftEngineeringInputData)components.GearboxInputData, outFile); + writer.SaveGearbox(components.GearboxInputData, components.AxleGearInputData, components.TorqueConverterInputData, (IGearshiftEngineeringInputData)components.GearboxInputData, outFile); var savedData = JSONInputDataFactory.ReadComponentData(outFile); var savedInprovider = savedData as IEngineeringInputDataProvider; diff --git a/VectoCore/VectoCoreTest/Integration/Declaration/ADASVehicleTest.cs b/VectoCore/VectoCoreTest/Integration/Declaration/ADASVehicleTest.cs index d857f5e8be1a88c8d56aeabcb0d36c25062bbdc8..3be16b752bb7e12b7066405717d623e10ed5e861 100644 --- a/VectoCore/VectoCoreTest/Integration/Declaration/ADASVehicleTest.cs +++ b/VectoCore/VectoCoreTest/Integration/Declaration/ADASVehicleTest.cs @@ -98,7 +98,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Declaration var modified = XmlReader.Create(new StringReader(nav.OuterXml)); var writer = new FileOutputWriter(filename); - var inputData = xmlInputReader.CreateDeclaration(modified, true); //.ReadJsonJob(relativeJobPath); + var inputData = xmlInputReader.CreateDeclaration(modified); //.ReadJsonJob(relativeJobPath); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { WriteModalResults = true, ActualModalData = true diff --git a/VectoCore/VectoCoreTest/Integration/Declaration/EngineInputDataTests.cs b/VectoCore/VectoCoreTest/Integration/Declaration/EngineInputDataTests.cs index bcb1badd2df38a858ce027be5ce8608820e1a9f4..1d211cf9fed2555b95ca100808afe3cedbed06b6 100644 --- a/VectoCore/VectoCoreTest/Integration/Declaration/EngineInputDataTests.cs +++ b/VectoCore/VectoCoreTest/Integration/Declaration/EngineInputDataTests.cs @@ -92,7 +92,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Declaration modified = XmlReader.Create(new StringReader(nav.OuterXml)); } - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputDataProvider, null, validate: false); var first = factory.SimulationRuns().First(); diff --git a/VectoCore/VectoCoreTest/Integration/Declaration/ExemptedVehicleTest.cs b/VectoCore/VectoCoreTest/Integration/Declaration/ExemptedVehicleTest.cs index ddd93e9f54a220f29c17e84b2fc7c3a70421b684..94f308f06f801301bda6ba2f1871c0dbd6cc8925 100644 --- a/VectoCore/VectoCoreTest/Integration/Declaration/ExemptedVehicleTest.cs +++ b/VectoCore/VectoCoreTest/Integration/Declaration/ExemptedVehicleTest.cs @@ -88,7 +88,7 @@ namespace TUGraz.VectoCore.Tests.Integration File.Delete(monitoringFile); } - var inputData = xmlInputReader.CreateDeclaration(filename, true); + var inputData = xmlInputReader.CreateDeclaration(filename); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { WriteModalResults = true, @@ -152,7 +152,7 @@ namespace TUGraz.VectoCore.Tests.Integration var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputData = xmlInputReader.CreateDeclaration(modified, true); + var inputData = xmlInputReader.CreateDeclaration(modified); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { WriteModalResults = true, @@ -229,7 +229,7 @@ namespace TUGraz.VectoCore.Tests.Integration var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputData = xmlInputReader.CreateDeclaration(modified, true); + var inputData = xmlInputReader.CreateDeclaration(modified); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { WriteModalResults = true, diff --git a/VectoCore/VectoCoreTest/Integration/Declaration/NaturalGasVehicles.cs b/VectoCore/VectoCoreTest/Integration/Declaration/NaturalGasVehicles.cs index 7eb37a39bbedcf9d83090e47ea5dcbb82452bfab..576334a55f381e8280a230ed0cbbfd913bb9100f 100644 --- a/VectoCore/VectoCoreTest/Integration/Declaration/NaturalGasVehicles.cs +++ b/VectoCore/VectoCoreTest/Integration/Declaration/NaturalGasVehicles.cs @@ -98,7 +98,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Declaration var modified = XmlReader.Create(new StringReader(nav.OuterXml)); var writer = new MockDeclarationWriter(filename); - var inputData = xmlInputReader.CreateDeclaration(modified, true); + var inputData = xmlInputReader.CreateDeclaration(modified); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { WriteModalResults = true, ActualModalData = true diff --git a/VectoCore/VectoCoreTest/Integration/Declaration/TestMaxMassInMUCycle.cs b/VectoCore/VectoCoreTest/Integration/Declaration/TestMaxMassInMUCycle.cs index f78bd39032abda2684af1b9cb6210167709af9d2..0b18c853ac9e3203d8ef6a3b803aad606b2572b7 100644 --- a/VectoCore/VectoCoreTest/Integration/Declaration/TestMaxMassInMUCycle.cs +++ b/VectoCore/VectoCoreTest/Integration/Declaration/TestMaxMassInMUCycle.cs @@ -65,7 +65,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Declaration { var relativeJobPath = jobFile; var writer = new FileOutputWriter(relativeJobPath); - var inputData = Path.GetExtension(relativeJobPath) == ".xml" ? xmlInputReader.CreateDeclaration(relativeJobPath, true) : JSONInputDataFactory.ReadJsonJob(relativeJobPath); + var inputData = Path.GetExtension(relativeJobPath) == ".xml" ? xmlInputReader.CreateDeclaration(relativeJobPath) : JSONInputDataFactory.ReadJsonJob(relativeJobPath); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { WriteModalResults = true, //ActualModalData = true, diff --git a/VectoCore/VectoCoreTest/Integration/Declaration/VocationalVehicleTest.cs b/VectoCore/VectoCoreTest/Integration/Declaration/VocationalVehicleTest.cs index e29c33eb1a69cca64eabaea5dab460edc4cbe7c7..69c9ae0ef4fd9fc85b3804cd20dd496cc6c5e241 100644 --- a/VectoCore/VectoCoreTest/Integration/Declaration/VocationalVehicleTest.cs +++ b/VectoCore/VectoCoreTest/Integration/Declaration/VocationalVehicleTest.cs @@ -70,7 +70,7 @@ namespace TUGraz.VectoCore.Tests.Integration public void VocationalTest(string filename, int numRuns) { var writer = new FileOutputWriter(filename); - var inputData = xmlInputReader.CreateDeclaration(filename, true); + var inputData = xmlInputReader.CreateDeclaration(filename); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { WriteModalResults = true, ActualModalData = true diff --git a/VectoCore/VectoCoreTest/Integration/TestVehicleIdlingSpeed.cs b/VectoCore/VectoCoreTest/Integration/TestVehicleIdlingSpeed.cs index ce8cc40fd6204b3e5bd21680c85cee625ac84782..a0321bd8d888cc036d827dfde5a33bd52ad1c7f8 100644 --- a/VectoCore/VectoCoreTest/Integration/TestVehicleIdlingSpeed.cs +++ b/VectoCore/VectoCoreTest/Integration/TestVehicleIdlingSpeed.cs @@ -86,7 +86,7 @@ namespace TUGraz.VectoCore.Tests.Integration var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputDataProvider, new FileOutputWriter("Idle900")); //factory.WriteModalResults = true; diff --git a/VectoCore/VectoCoreTest/Integration/TorqueLimitsTest.cs b/VectoCore/VectoCoreTest/Integration/TorqueLimitsTest.cs index 307b95d22e8500967d0032836f0adba914f509dc..cc746a7f1b51e757ca4874c5288e23636504d232 100644 --- a/VectoCore/VectoCoreTest/Integration/TorqueLimitsTest.cs +++ b/VectoCore/VectoCoreTest/Integration/TorqueLimitsTest.cs @@ -296,7 +296,7 @@ namespace TUGraz.VectoCore.Tests.Integration [TestCase(DeclarationVehicle9GearsFord)] public void EngineSpeedTooHigh9SpeedGearbox(string jobFile) { - var inputData = xmlInputReader.CreateDeclaration(jobFile, true); + var inputData = xmlInputReader.CreateDeclaration(jobFile); var fileWriter = new FileOutputWriter(jobFile); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, fileWriter) { WriteModalResults = true, diff --git a/VectoCore/VectoCoreTest/Integration/XMLReportTest.cs b/VectoCore/VectoCoreTest/Integration/XMLReportTest.cs index 9bd1a5a0f694d352182ae91acf7dcd780f5aeb93..1afb697da649d8b747f0214db03eb796e50ecf3c 100644 --- a/VectoCore/VectoCoreTest/Integration/XMLReportTest.cs +++ b/VectoCore/VectoCoreTest/Integration/XMLReportTest.cs @@ -73,7 +73,7 @@ namespace TUGraz.VectoCore.Tests.Integration public void TestXMLReportMetaInformation() { var jobfile = @"Testdata\XML\XMLReaderDeclaration\vecto_vehicle-sample.xml"; - var dataProvider = xmlInputReader.CreateDeclaration(jobfile, true); + var dataProvider = xmlInputReader.CreateDeclaration(jobfile); var writer = new FileOutputWriter(jobfile); var xmlReport = new XMLDeclarationReport(writer); var sumData = new SummaryDataContainer(writer); @@ -120,7 +120,7 @@ namespace TUGraz.VectoCore.Tests.Integration TestCase(@"TestData\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted.xml")] public void TestValidationXMLReports(string jobfile) { - var dataProvider = xmlInputReader.CreateDeclaration(jobfile, true); + var dataProvider = xmlInputReader.CreateDeclaration(jobfile); var writer = new FileOutputWriter(jobfile); var xmlReport = new XMLDeclarationReport(writer); var sumData = new SummaryDataContainer(writer); @@ -215,7 +215,7 @@ namespace TUGraz.VectoCore.Tests.Integration var sumData = new SummaryDataContainer(writer); var jobContainer = new JobContainer(sumData); - var dataProvider = xmlInputReader.CreateDeclaration(modified, true); + var dataProvider = xmlInputReader.CreateDeclaration(modified); var runsFactory = new SimulatorFactory(ExecutionMode.Declaration, dataProvider, writer, xmlReport) { WriteModalResults = false, diff --git a/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs index a3762dfe20bedf8a7aeff8da4383f2ac1ed8942d..c1798f4155cbea299405b219805f9763ad617e4d 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs @@ -607,7 +607,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration Assert.Inconclusive("Confidential File not found. Test cannot run without file."); } - IDeclarationInputDataProvider job = (IDeclarationInputDataProvider)(Path.GetExtension(jobFile) == ".vecto" ? JSONInputDataFactory.ReadJsonJob(jobFile) : xmlInputReader.CreateDeclaration(jobFile, true)); + IDeclarationInputDataProvider job = (IDeclarationInputDataProvider)(Path.GetExtension(jobFile) == ".vecto" ? JSONInputDataFactory.ReadJsonJob(jobFile) : xmlInputReader.CreateDeclaration(jobFile)); var gearboxData = job.JobInputData.Vehicle.Components.GearboxInputData; var idlespeed = VectoMath.Max( @@ -865,7 +865,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration [TestCase(@"E:\QUAM\Workspace\VECTO-Bugreports\BugReportTests\Bugreport Jobs\20190307_VECTO-904_Extrapolation\OM-18173493.xml")] public void ComputeShiftPolygonXML(string xmlJob) { - var inputData = xmlInputReader.CreateDeclaration(xmlJob, true); + var inputData = xmlInputReader.CreateDeclaration(xmlJob); var dao = new DeclarationDataAdapter(); var gearboxData = inputData.JobInputData.Vehicle.Components.GearboxInputData; diff --git a/VectoCore/VectoCoreTest/Models/Simulation/DeclarationSimulationFactoryTest.cs b/VectoCore/VectoCoreTest/Models/Simulation/DeclarationSimulationFactoryTest.cs index 695d5868a51142b781750e9388c1668bcf0acd63..0dfced812b57879fc85f964954d79db8bd5b7883 100644 --- a/VectoCore/VectoCoreTest/Models/Simulation/DeclarationSimulationFactoryTest.cs +++ b/VectoCore/VectoCoreTest/Models/Simulation/DeclarationSimulationFactoryTest.cs @@ -85,7 +85,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputDataProvider, null) { Validate = false }; @@ -96,7 +96,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation [TestCase()] public void TestEngineCorrectionFactor() { - var inputDataProvider = xmlInputReader.CreateDeclaration(SampleVehicleDecl, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(SampleVehicleDecl); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputDataProvider, null) { Validate = false }; diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs index 1459be646a7b758d7f0b9e780a85a51c5d1638f3..dbb18171b27fb6533ca32668552bf89d0ef79bbd 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs @@ -127,7 +127,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData }; var dao = new EngineeringDataAdapter(); - var engineData = dao.CreateEngineData(data, null, new List<ITorqueLimitInputData>()); + var engineData = dao.CreateEngineData(data, null, new List<ITorqueLimitInputData>(), null); var results = engineData.Validate(ExecutionMode.Declaration, null, false); Assert.IsFalse(results.Any(), "Validation failed: " + string.Join("; ", results.Select(r => r.ErrorMessage))); @@ -637,11 +637,6 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData public GearboxType Type { get; set; } public IList<ITransmissionInputData> Gears { get; set; } - ITorqueConverterDeclarationInputData IGearboxDeclarationInputData.TorqueConverter - { - get { return TorqueConverter; } - } - public KilogramSquareMeter Inertia { get; set; } public Second TractionInterruption { get; set; } public Second MinTimeBetweenGearshift { get; set; } diff --git a/VectoCore/VectoCoreTest/Reports/ModDataTest.cs b/VectoCore/VectoCoreTest/Reports/ModDataTest.cs index 410058f6e7a4695d7c4b3a531263ba9534d51c83..3189de0ebac72bcafec9d061e9e3fa9ec4a5837c 100644 --- a/VectoCore/VectoCoreTest/Reports/ModDataTest.cs +++ b/VectoCore/VectoCoreTest/Reports/ModDataTest.cs @@ -162,7 +162,7 @@ namespace TUGraz.VectoCore.Tests.Reports public void TractionInterruptionTest(string filename, int idx, double expectedTractionInterruption) { var writer = new FileOutputWriter(filename); - var inputData = xmlInputReader.CreateDeclaration(filename, true); + var inputData = xmlInputReader.CreateDeclaration(filename); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { WriteModalResults = true, }; diff --git a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs index d8acbfb6d546cb91c26ea1b7c7dfa642f284be53..8a70ff010ba6880cc0f5ca037c120b34a4cefac0 100644 --- a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs +++ b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs @@ -184,7 +184,7 @@ namespace TUGraz.VectoCore.Tests.Reports public void TestSumDataMetaInformation() { var jobfile = @"Testdata\XML\XMLReaderDeclaration\vecto_vehicle-sample.xml"; - var dataProvider = xmlInputReader.CreateDeclaration(jobfile, true); + var dataProvider = xmlInputReader.CreateDeclaration(jobfile); var writer = new FileOutputWriter(jobfile); var xmlReport = new XMLDeclarationReport(writer); var sumData = new SummaryDataContainer(writer); @@ -250,7 +250,7 @@ namespace TUGraz.VectoCore.Tests.Reports Stream fh = !File.Exists(modFilename) ? File.Create(modFilename) : File.OpenRead(modFilename); var writer = new FileOutputWriter(jobFile); - var inputData = xmlInputReader.CreateDeclaration(jobFile, true); + var inputData = xmlInputReader.CreateDeclaration(jobFile); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { WriteModalResults = true, ActualModalData = true @@ -282,7 +282,7 @@ namespace TUGraz.VectoCore.Tests.Reports Stream fh = !File.Exists(sumFilename) ? File.Create(sumFilename) : File.OpenRead(sumFilename); var writer = new FileOutputWriter(jobFile); - var inputData = xmlInputReader.CreateDeclaration(jobFile, true); + var inputData = xmlInputReader.CreateDeclaration(jobFile); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) { WriteModalResults = true, ActualModalData = true diff --git a/VectoCore/VectoCoreTest/TestData/XML/EngineeringJob/SampleJobEngineering1.0.xml b/VectoCore/VectoCoreTest/TestData/XML/EngineeringJob/SampleJobEngineering1.0.xml index cbaaedb7211ac1d8148f100fd70226348bd3765a..eb47c3efb662e1b9b13b7d53ba32fbf2a3858aa4 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/EngineeringJob/SampleJobEngineering1.0.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/EngineeringJob/SampleJobEngineering1.0.xml @@ -1,138 +1,138 @@ <?xml version="1.0" encoding="UTF-8"?> -<tns:VectoInputEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v1.0" xmlns:ve1.0="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v1.0 file:///E:/QUAM/Workspace/VECTO_quam/VectoCore/VectoCore/Resources/XSD/VectoEngineeringInput.1.0.xsd"> +<tns:VectoInputEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v1.0" xmlns:ve1.0="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v1.0 file:///E:/QUAM/Workspace/VECTO_quam/VectoCore/VectoCore/Resources/XSD/VectoEngineeringInput.1.0.xsd" xsi:type="VectoJobEngineeringType"> <EngineOnlyMode>false</EngineOnlyMode> <Vehicle xsi:type="ve1.0:VehicleEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <ManufacturerAddress/> - <Model>Generic Truck</Model> - <VIN>N.A.</VIN> - <Date>2018-06-14T14:00:00Z</Date> - <AxleConfiguration>4x2</AxleConfiguration> - <CurbMassChassis>6500</CurbMassChassis> - <GrossVehicleMass>14000</GrossVehicleMass> - <RetarderType>None</RetarderType> - <AngledriveType>None</AngledriveType> - <PTOType>None</PTOType> - <CurbMassExtra>0</CurbMassExtra> - <Loading>0</Loading> - <AdvancedDriverAssist xsi:type="ve1.0:AdvancedDriverAssistEngineeringType"> - <EngineStartStop xsi:type="ve1.0:EngineStartStopEngineeringType"> - <Enabled>false</Enabled> - </EngineStartStop> - </AdvancedDriverAssist> - <Components xsi:type="ve1.0:VehicleComponentsType"> - <Engine> - <Data xsi:type="ve1.0:EngineDataEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <Model>Generic Eninge</Model> - <Date>2018-06-14T14:00:00Z</Date> - <Displacement>12750</Displacement> - <IdlingSpeed>600</IdlingSpeed> - <FCCorrection>1.0000</FCCorrection> - <FuelType>Diesel CI</FuelType> - <FuelConsumptionMap> - <Entry engineSpeed="550.00" torque="-200.00" fuelConsumption="0.00"/> - <Entry engineSpeed="550.00" torque="1500.00" fuelConsumption="200.00"/> - <Entry engineSpeed="2500.00" torque="-200.00" fuelConsumption="0.00"/> - <Entry engineSpeed="2500.00" torque="1500.00" fuelConsumption="200.00"/> - </FuelConsumptionMap> - <FullLoadAndDragCurve> - <Entry engineSpeed="550.00" maxTorque="1450.00" dragTorque="-150.00"/> - <Entry engineSpeed="2500.00" maxTorque="1450.00" dragTorque="-150.00"/> - </FullLoadAndDragCurve> - </Data> - </Engine> - <Gearbox> - <Data xsi:type="ve1.0:GearboxDataEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <Model>Generic Gearbox</Model> - <Date>2018-06-14T14:00:00Z</Date> - <TransmissionType>AMT</TransmissionType> - <Inertia>0.0</Inertia> - <TractionInterruption>1.0</TractionInterruption> - <Gears> - <Gear xsi:type="ve1.0:GearEngineeringType" number="1"> - <Ratio>1.000</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="100.00"/> - <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="10.00"/> - <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="100.00"/> - <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="100.00"/> - <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="10.00"/> - <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="100.00"/> - </TorqueLossMap> - </Gear> - </Gears> - </Data> - </Gearbox> - <Axlegear> - <Data xsi:type="ve1.0:AxlegearDataEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <Model>Generic Axlegear</Model> - <Date>2018-06-14T14:00:00Z</Date> - <Ratio>1.000</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="100.00"/> - <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="10.00"/> - <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="100.00"/> - <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="100.00"/> - <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="10.00"/> - <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="100.00"/> - </TorqueLossMap> - </Data> - </Axlegear> - <AxleWheels> - <Data xsi:type="ve1.0:AxleComponentEngineeringType"> - <Axles> - <Axle xsi:type="ve1.0:AxleDataEngineeringType" axleNumber="1"> - <AxleType>VehicleNonDriven</AxleType> - <TwinTyres>false</TwinTyres> - <Steered>true</Steered> - <WeightShare>0.4</WeightShare> - <Tyre> - <Data xsi:type="ve1.0:TyreDataEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <Model>Generic Tyre</Model> - <Date>2018-06-14T14:00:00Z</Date> - <Dimension>245/70 R17.5</Dimension> - <RRCISO>0.0055</RRCISO> - <FzISO>33500</FzISO> - </Data> - </Tyre> - </Axle> - <Axle xsi:type="ve1.0:AxleDataEngineeringType" axleNumber="2"> - <AxleType>VehicleDriven</AxleType> - <TwinTyres>true</TwinTyres> - <Steered>false</Steered> - <WeightShare>0.6</WeightShare> - <Tyre> - <Data xsi:type="ve1.0:TyreDataEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <Model>Generic Tyre</Model> - <Date>2018-06-14T14:00:00Z</Date> - <DynamicTyreRadius>452</DynamicTyreRadius> - <Inertia>16.3</Inertia> - <RRCISO>0.0055</RRCISO> - <FzISO>33500</FzISO> - </Data> - </Tyre> - </Axle> - </Axles> - </Data> - </AxleWheels> - <Auxiliaries> - <Data xsi:type="ve1.0:AuxiliariesDataEngineeringType"/> - </Auxiliaries> - <AirDrag> - <Data xsi:type="ve1.0:AirDragDataEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <Model>Generic Model</Model> - <Date>2018-06-14T14:00:00Z</Date> - <CrossWindCorrectionMode>Declaration Mode Correction</CrossWindCorrectionMode> - <CdxA>4.51</CdxA> - </Data> - </AirDrag> - </Components> + <Manufacturer>Generic Manufacturer</Manufacturer> + <ManufacturerAddress/> + <Model>Generic Truck</Model> + <VIN>N.A.</VIN> + <Date>2018-06-14T14:00:00Z</Date> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>6500</CurbMassChassis> + <GrossVehicleMass>14000</GrossVehicleMass> + <RetarderType>None</RetarderType> + <AngledriveType>None</AngledriveType> + <PTOType>None</PTOType> + <CurbMassExtra>0</CurbMassExtra> + <Loading>0</Loading> + <AdvancedDriverAssist xsi:type="ve1.0:AdvancedDriverAssistEngineeringType"> + <EngineStartStop xsi:type="ve1.0:EngineStartStopEngineeringType"> + <Enabled>false</Enabled> + </EngineStartStop> + </AdvancedDriverAssist> + <Components xsi:type="ve1.0:VehicleComponentsType"> + <Engine> + <Data xsi:type="ve1.0:EngineDataEngineeringType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Eninge</Model> + <Date>2018-06-14T14:00:00Z</Date> + <Displacement>12750</Displacement> + <IdlingSpeed>600</IdlingSpeed> + <FCCorrection>1.0000</FCCorrection> + <FuelType>Diesel CI</FuelType> + <FuelConsumptionMap> + <Entry engineSpeed="550.00" torque="-200.00" fuelConsumption="0.00"/> + <Entry engineSpeed="550.00" torque="1500.00" fuelConsumption="200.00"/> + <Entry engineSpeed="2500.00" torque="-200.00" fuelConsumption="0.00"/> + <Entry engineSpeed="2500.00" torque="1500.00" fuelConsumption="200.00"/> + </FuelConsumptionMap> + <FullLoadAndDragCurve> + <Entry engineSpeed="550.00" maxTorque="1450.00" dragTorque="-150.00"/> + <Entry engineSpeed="2500.00" maxTorque="1450.00" dragTorque="-150.00"/> + </FullLoadAndDragCurve> + </Data> + </Engine> + <Gearbox> + <Data xsi:type="ve1.0:GearboxDataEngineeringType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Gearbox</Model> + <Date>2018-06-14T14:00:00Z</Date> + <TransmissionType>AMT</TransmissionType> + <Inertia>0.0</Inertia> + <TractionInterruption>1.0</TractionInterruption> + <Gears> + <Gear xsi:type="ve1.0:GearEngineeringType" number="1"> + <Ratio>1.000</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="10.00"/> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="10.00"/> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="100.00"/> + </TorqueLossMap> + </Gear> + </Gears> + </Data> + </Gearbox> + <Axlegear> + <Data xsi:type="ve1.0:AxlegearDataEngineeringType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Axlegear</Model> + <Date>2018-06-14T14:00:00Z</Date> + <Ratio>1.000</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="10.00"/> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="10.00"/> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="100.00"/> + </TorqueLossMap> + </Data> + </Axlegear> + <AxleWheels> + <Data xsi:type="ve1.0:AxleWheelsDataEngineeringType"> + <Axles> + <Axle xsi:type="ve1.0:AxleDataEngineeringType" axleNumber="1"> + <AxleType>VehicleNonDriven</AxleType> + <TwinTyres>false</TwinTyres> + <Steered>true</Steered> + <WeightShare>0.4</WeightShare> + <Tyre> + <Data xsi:type="ve1.0:TyreDataEngineeringType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Tyre</Model> + <Date>2018-06-14T14:00:00Z</Date> + <Dimension>245/70 R17.5</Dimension> + <RRCISO>0.0055</RRCISO> + <FzISO>33500</FzISO> + </Data> + </Tyre> + </Axle> + <Axle xsi:type="ve1.0:AxleDataEngineeringType" axleNumber="2"> + <AxleType>VehicleDriven</AxleType> + <TwinTyres>true</TwinTyres> + <Steered>false</Steered> + <WeightShare>0.6</WeightShare> + <Tyre> + <Data xsi:type="ve1.0:TyreDataEngineeringType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Tyre</Model> + <Date>2018-06-14T14:00:00Z</Date> + <DynamicTyreRadius>452</DynamicTyreRadius> + <Inertia>16.3</Inertia> + <RRCISO>0.0055</RRCISO> + <FzISO>33500</FzISO> + </Data> + </Tyre> + </Axle> + </Axles> + </Data> + </AxleWheels> + <Auxiliaries> + <Data xsi:type="ve1.0:AuxiliariesDataEngineeringType"/> + </Auxiliaries> + <AirDrag> + <Data xsi:type="ve1.0:AirDragDataEngineeringType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Model</Model> + <Date>2018-06-14T14:00:00Z</Date> + <CrossWindCorrectionMode>Declaration Mode Correction</CrossWindCorrectionMode> + <CdxA>4.51</CdxA> + </Data> + </AirDrag> + </Components> </Vehicle> <DriverModel xsi:type="ve1.0:DriverModelEngineeringType"> <LookAheadCoasting xsi:type="ve1.0:LookAheadCoastingEngineeringType"> diff --git a/VectoCore/VectoCoreTest/TestData/XML/EngineeringJob/SampleJobEngineering1.1.xml b/VectoCore/VectoCoreTest/TestData/XML/EngineeringJob/SampleJobEngineering1.1.xml index 5fff8789168ab690ff7caaf350eea98b7dbb16b7..184751c72cf9c17a7665e928ed02791846281c3f 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/EngineeringJob/SampleJobEngineering1.1.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/EngineeringJob/SampleJobEngineering1.1.xml @@ -2,138 +2,139 @@ <tns:VectoInputEngineering schemaVersion="1.0" xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v1.0" xmlns:ve1.0="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" xmlns:ve1.0TEST="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0TEST" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v1.0 file:///E:/QUAM/Workspace/VECTO_quam/VectoCore/VectoCore/Resources/XSD/VectoEngineeringInput.1.0.xsd urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0TEST file:///E:/QUAM/Workspace/VECTO_quam/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.TEST.xsd"> <EngineOnlyMode>false</EngineOnlyMode> <Vehicle xsi:type="ve1.0:VehicleEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <ManufacturerAddress/> - <Model>Generic Truck</Model> - <VIN>N.A.</VIN> - <Date>2018-06-14T14:00:00Z</Date> - <AxleConfiguration>4x2</AxleConfiguration> - <CurbMassChassis>6500</CurbMassChassis> - <GrossVehicleMass>14000</GrossVehicleMass> - <RetarderType>None</RetarderType> - <AngledriveType>None</AngledriveType> - <PTOType>None</PTOType> - <CurbMassExtra>0</CurbMassExtra> - <Loading>0</Loading> - <AdvancedDriverAssist xsi:type="ve1.0:AdvancedDriverAssistEngineeringType"> - <EngineStartStop xsi:type="ve1.0:EngineStartStopEngineeringType"> - <Enabled>false</Enabled> - </EngineStartStop> - </AdvancedDriverAssist> - <Components xsi:type="VehicleComponentsType"> - <Engine> - <Data xsi:type="ve1.0TEST:EngineDataEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <Model>Generic Eninge</Model> - <Date>2018-06-14T14:00:00Z</Date> - <Displacement>12750</Displacement> - <IdlingSpeed>600</IdlingSpeed> - <FCCorrection>1.0000</FCCorrection> - <FuelType>Diesel CI</FuelType> - <FuelConsumptionMap> - <Entry engineSpeed="550.00" torque="-200.00" fuelConsumption="0.00"/> - <Entry engineSpeed="550.00" torque="1500.00" fuelConsumption="200.00"/> - <Entry engineSpeed="2500.00" torque="-200.00" fuelConsumption="0.00"/> - <Entry engineSpeed="2500.00" torque="1500.00" fuelConsumption="200.00"/> - </FuelConsumptionMap> - <FullLoadAndDragCurve> - <Entry engineSpeed="550.00" maxTorque="1450.00" dragTorque="-150.00"/> - <Entry engineSpeed="2500.00" maxTorque="1450.00" dragTorque="-150.00"/> - </FullLoadAndDragCurve> - <ve1.0TEST:RatedPower>220kW</ve1.0TEST:RatedPower> - <ve1.0TEST:RatedSpeed>2200rpm</ve1.0TEST:RatedSpeed> - </Data> - </Engine> - <Gearbox> - <Data xsi:type="ve1.0:GearboxDataEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <Model>Generic Gearbox</Model> - <Date>2018-06-14T14:00:00Z</Date> - <TransmissionType>AMT</TransmissionType> - <Inertia>0.0</Inertia> - <TractionInterruption>1.0</TractionInterruption> - <Gears> - <Gear number="1" xsi:type="GearEngineeringType"> - <Ratio>1.000</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="100.00"/> - <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="10.00"/> - <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="100.00"/> - <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="100.00"/> - <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="10.00"/> - <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="100.00"/> - </TorqueLossMap> - </Gear> - </Gears> - </Data> - </Gearbox> - <Axlegear> - <Data xsi:type="ve1.0:AxlegearDataEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <Model>Generic Axlegear</Model> - <Date>2018-06-14T14:00:00Z</Date> - <Ratio>1.000</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="100.00"/> - <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="10.00"/> - <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="100.00"/> - <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="100.00"/> - <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="10.00"/> - <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="100.00"/> - </TorqueLossMap> - </Data> - </Axlegear> - <AxleWheels> - <Data xsi:type="ve1.0:AxleComponentEngineeringType"> - <Axles> - <Axle xsi:type="ve1.0TEST:AxleDataEngineeringType" axleNumber="1"> - <ve1.0TEST:WeightShare>0.4</ve1.0TEST:WeightShare> - <ve1.0TEST:TwinTires>false</ve1.0TEST:TwinTires> - <ve1.0TEST:Tire> - <Data xsi:type="ve1.0:TyreDataEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <Model>Generic Tyre</Model> - <Date>2018-06-14T14:00:00Z</Date> - <Dimension>245/70 R17.5</Dimension> - <RRCISO>0.0055</RRCISO> - <FzISO>33500</FzISO> - </Data> - </ve1.0TEST:Tire> - </Axle> - <Axle xsi:type="ve1.0:AxleDataEngineeringType" axleNumber="2"> - <AxleType>VehicleDriven</AxleType> - <TwinTyres>true</TwinTyres> - <Steered>false</Steered> - <WeightShare>0.6</WeightShare> - <Tyre> - <Data xsi:type="ve1.0TEST:TyreDataEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <Model>Generic Tyre</Model> - <Date>2018-06-14T14:00:00Z</Date> - <DynamicTyreRadius>452</DynamicTyreRadius> - <Inertia>16.3</Inertia> - <RRCISO>0.0055</RRCISO> - <FzISO>33500</FzISO> - <ve1.0TEST:ProfileDepth>10</ve1.0TEST:ProfileDepth> - </Data> - </Tyre> - </Axle> - </Axles> - </Data> - </AxleWheels> - <Auxiliaries> - <Data xsi:type="ve1.0:AuxiliariesDataEngineeringType"/> - </Auxiliaries> - <AirDrag> - <Data xsi:type="ve1.0:AirDragDataEngineeringType"> - <Manufacturer>Generic Manufacturer</Manufacturer> - <Model>Generic Model</Model> - <Date>2018-06-14T14:00:00Z</Date> - <CrossWindCorrectionMode>Declaration Mode Correction</CrossWindCorrectionMode> - <CdxA>4.51</CdxA> - </Data> - </AirDrag> - </Components> + + <Manufacturer>Generic Manufacturer</Manufacturer> + <ManufacturerAddress/> + <Model>Generic Truck</Model> + <VIN>N.A.</VIN> + <Date>2018-06-14T14:00:00Z</Date> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>6500</CurbMassChassis> + <GrossVehicleMass>14000</GrossVehicleMass> + <RetarderType>None</RetarderType> + <AngledriveType>None</AngledriveType> + <PTOType>None</PTOType> + <CurbMassExtra>0</CurbMassExtra> + <Loading>0</Loading> + <AdvancedDriverAssist xsi:type="ve1.0:AdvancedDriverAssistEngineeringType"> + <EngineStartStop xsi:type="ve1.0:EngineStartStopEngineeringType"> + <Enabled>false</Enabled> + </EngineStartStop> + </AdvancedDriverAssist> + <Components xsi:type="VehicleComponentsType"> + <Engine> + <Data xsi:type="ve1.0TEST:EngineDataEngineeringType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Eninge</Model> + <Date>2018-06-14T14:00:00Z</Date> + <Displacement>12750</Displacement> + <IdlingSpeed>600</IdlingSpeed> + <FCCorrection>1.0000</FCCorrection> + <FuelType>Diesel CI</FuelType> + <FuelConsumptionMap> + <Entry engineSpeed="550.00" torque="-200.00" fuelConsumption="0.00"/> + <Entry engineSpeed="550.00" torque="1500.00" fuelConsumption="200.00"/> + <Entry engineSpeed="2500.00" torque="-200.00" fuelConsumption="0.00"/> + <Entry engineSpeed="2500.00" torque="1500.00" fuelConsumption="200.00"/> + </FuelConsumptionMap> + <FullLoadAndDragCurve> + <Entry engineSpeed="550.00" maxTorque="1450.00" dragTorque="-150.00"/> + <Entry engineSpeed="2500.00" maxTorque="1450.00" dragTorque="-150.00"/> + </FullLoadAndDragCurve> + <ve1.0TEST:RatedPower>220kW</ve1.0TEST:RatedPower> + <ve1.0TEST:RatedSpeed>2200rpm</ve1.0TEST:RatedSpeed> + </Data> + </Engine> + <Gearbox> + <Data xsi:type="ve1.0:GearboxDataEngineeringType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Gearbox</Model> + <Date>2018-06-14T14:00:00Z</Date> + <TransmissionType>AMT</TransmissionType> + <Inertia>0.0</Inertia> + <TractionInterruption>1.0</TractionInterruption> + <Gears> + <Gear number="1" xsi:type="GearEngineeringType"> + <Ratio>1.000</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="10.00"/> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="10.00"/> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="100.00"/> + </TorqueLossMap> + </Gear> + </Gears> + </Data> + </Gearbox> + <Axlegear> + <Data xsi:type="ve1.0:AxlegearDataEngineeringType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Axlegear</Model> + <Date>2018-06-14T14:00:00Z</Date> + <Ratio>1.000</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="10.00"/> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="5000.00" inputTorque="-10000.00" torqueLoss="100.00"/> + <Entry inputSpeed="5000.00" inputTorque="0.00" torqueLoss="10.00"/> + <Entry inputSpeed="5000.00" inputTorque="10000.00" torqueLoss="100.00"/> + </TorqueLossMap> + </Data> + </Axlegear> + <AxleWheels> + <Data xsi:type="AxleWheelsDataEngineeringType"> + <Axles> + <Axle xsi:type="ve1.0TEST:AxleDataEngineeringType" axleNumber="1"> + <ve1.0TEST:WeightShare>0.4</ve1.0TEST:WeightShare> + <ve1.0TEST:TwinTires>false</ve1.0TEST:TwinTires> + <ve1.0TEST:Tire> + <Data xsi:type="ve1.0:TyreDataEngineeringType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Tyre</Model> + <Date>2018-06-14T14:00:00Z</Date> + <Dimension>245/70 R17.5</Dimension> + <RRCISO>0.0055</RRCISO> + <FzISO>33500</FzISO> + </Data> + </ve1.0TEST:Tire> + </Axle> + <Axle xsi:type="ve1.0:AxleDataEngineeringType" axleNumber="2"> + <AxleType>VehicleDriven</AxleType> + <TwinTyres>true</TwinTyres> + <Steered>false</Steered> + <WeightShare>0.6</WeightShare> + <Tyre> + <Data xsi:type="ve1.0TEST:TyreDataEngineeringType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Tyre</Model> + <Date>2018-06-14T14:00:00Z</Date> + <DynamicTyreRadius>452</DynamicTyreRadius> + <Inertia>16.3</Inertia> + <RRCISO>0.0055</RRCISO> + <FzISO>33500</FzISO> + <ve1.0TEST:ProfileDepth>10</ve1.0TEST:ProfileDepth> + </Data> + </Tyre> + </Axle> + </Axles> + </Data> + </AxleWheels> + <Auxiliaries> + <Data xsi:type="ve1.0:AuxiliariesDataEngineeringType"/> + </Auxiliaries> + <AirDrag> + <Data xsi:type="ve1.0:AirDragDataEngineeringType"> + <Manufacturer>Generic Manufacturer</Manufacturer> + <Model>Generic Model</Model> + <Date>2018-06-14T14:00:00Z</Date> + <CrossWindCorrectionMode>Declaration Mode Correction</CrossWindCorrectionMode> + <CdxA>4.51</CdxA> + </Data> + </AirDrag> + </Components> </Vehicle> <DriverModel xsi:type="ve1.0:DriverModelEngineeringType"> <LookAheadCoasting xsi:type="ve1.0:LookAheadCoastingEngineeringType"> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.0/vecto_vehicle-components_1.0.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.0/vecto_vehicle-components_1.0.xml index 2a7bfe8319adb9d29c9cccfab92d202d0d5f7052..79519d7ff8cfb52b635eb7c1c4f9e650c103928a 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.0/vecto_vehicle-components_1.0.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.0/vecto_vehicle-components_1.0.xml @@ -2592,7 +2592,7 @@ </Signature> </Gearbox> <TorqueConverter> - <Data id="tc-123xyz" xsi:type="v1.0:TorqueConverterDeclarationDataType"> + <Data id="tc-123xyz" xsi:type="v1.0:TorqueConverterDataDeclarationType"> <v1.0:Manufacturer>Some Manufacturer</v1.0:Manufacturer> <v1.0:Model>Some Model</v1.0:Model> <v1.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v1.0:CertificationNumber> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.1/vecto_vehicle-components_1.0.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.1/vecto_vehicle-components_1.0.xml index 2a7bfe8319adb9d29c9cccfab92d202d0d5f7052..79519d7ff8cfb52b635eb7c1c4f9e650c103928a 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.1/vecto_vehicle-components_1.0.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.1/vecto_vehicle-components_1.0.xml @@ -2592,7 +2592,7 @@ </Signature> </Gearbox> <TorqueConverter> - <Data id="tc-123xyz" xsi:type="v1.0:TorqueConverterDeclarationDataType"> + <Data id="tc-123xyz" xsi:type="v1.0:TorqueConverterDataDeclarationType"> <v1.0:Manufacturer>Some Manufacturer</v1.0:Manufacturer> <v1.0:Model>Some Model</v1.0:Model> <v1.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v1.0:CertificationNumber> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.1/vecto_vehicle-components_2.0.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.1/vecto_vehicle-components_2.0.xml index b379b3f1ea24bfb2431cd614453b2d7d1fabd306..c1c534020fd51560965e57a436af78279efcab85 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.1/vecto_vehicle-components_2.0.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.1/vecto_vehicle-components_2.0.xml @@ -2592,7 +2592,7 @@ </Signature> </Gearbox> <TorqueConverter> - <Data id="tc-123xyz" xsi:type="v2.0:TorqueConverterDeclarationDataType"> + <Data id="tc-123xyz" xsi:type="v2.0:TorqueConverterDataDeclarationType"> <v2.0:Manufacturer>Some Manufacturer</v2.0:Manufacturer> <v2.0:Model>Some Model</v2.0:Model> <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_engine-sample_ref.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_engine-sample_ref.xml index 42959f54f43962ae2350db423796b0848098d7fe..05992371ec16150d087470d5abf97d8e30d89de4 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_engine-sample_ref.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_engine-sample_ref.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<tns:VectoComponentEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.6" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 ../XSD/VectoEngineeringInput.xsd"> +<tns:VectoComponentEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.6" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoEngineeringInput.0.7.xsd"> <Engine> <Data id="ENG-gooZah3D"> <Manufacturer>Generic Engine Vendor</Manufacturer> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_gearbox-sample_ref.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_gearbox-sample_ref.xml index 219327ca0e50c446fdb3abd88b4a46156e1051cb..00972f9b30e2d34b754428be42dab080c0328003 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_gearbox-sample_ref.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_gearbox-sample_ref.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<tns:VectoComponentEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.6" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 ../XSD/VectoEngineeringInput.xsd"> +<tns:VectoComponentEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.6" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoEngineeringInput.0.7.xsd"> <Gearbox> <Data id="gbx-vi2Oak2N"> <Manufacturer>Generic Gearbox Vendor</Manufacturer> @@ -126,21 +126,5 @@ <Signature> <ComponentDataHash>d14189366134120e08fa3f2c6e3328dd13c08a23</ComponentDataHash> </Signature> - <TorqueConverter> - <Data> - <Manufacturer>Generic Torqueconverter Manufacturer</Manufacturer> - <Model>Generic Torqueconverter</Model> - <Creator>Markus Quaritsch, TUG ITI</Creator> - <Date>2017-01-11T11:00:00Z</Date> - <ReferenceRPM>1000</ReferenceRPM> - <Characteristics> - <Resource type="csv" file="tc_data.vtcc"/> - </Characteristics> - <Inertia>1.234</Inertia> - <ShiftPolygon> - <Resource type="csv" file="GBX_ShiftPolygons.vgbs"/> - </ShiftPolygon> - </Data> - </TorqueConverter> </Gearbox> </tns:VectoComponentEngineering> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample.xml index d3c33d3f414f2d1a7ff4628da63157c8a4777b93..66893d0bbeb9ed8077530b6e98261722a96f5537 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample.xml @@ -1,3430 +1,3427 @@ <?xml version="1.0" encoding="UTF-8"?> -<tns:VectoInputEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.6" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 ../XSD/VectoEngineeringInput.xsd"> +<tns:VectoInputEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.6" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoEngineeringInput.0.7.xsd"> <EngineOnlyMode>false</EngineOnlyMode> <Vehicle id="VEH-1234567890"> - <Manufacturer>Generic Truck Manufacturer</Manufacturer> - <Model>Generic LongHaul Truck</Model> - <Creator>MQ</Creator> - <Date>2017-02-15T11:00:00Z</Date> - <VehicleCategory>Tractor</VehicleCategory> - <AxleConfiguration>4x2</AxleConfiguration> - <CurbMassChassis>7100</CurbMassChassis> - <GrossVehicleMass>40000</GrossVehicleMass> - <RetarderType>Transmission Output Retarder</RetarderType> - <RetarderRatio>1.000</RetarderRatio> - <AngledriveType>None</AngledriveType> - <PTOType>None</PTOType> - <CurbMassExtra>500</CurbMassExtra> - <Loading>1500</Loading> - <Components> - <Engine> - <Data id="ENG-gooZah3D"> - <Manufacturer>Generic Engine Manufacturer</Manufacturer> - <Model>Generic 40t Long Haul Truck Engine</Model> - <Creator>Markus Quaritsch, TUG IVT</Creator> - <Date>2017-02-15T11:00:00Z</Date> - <Displacement>12730</Displacement> - <IdlingSpeed>560</IdlingSpeed> - <Inertia>0.77</Inertia> - <WHTCEngineering>1</WHTCEngineering> - <FuelConsumptionMap> - <Entry engineSpeed="560.00" torque="-149.00" fuelConsumption="0.00"/> - <Entry engineSpeed="560.00" torque="0.00" fuelConsumption="1256.00"/> - <Entry engineSpeed="560.00" torque="200.00" fuelConsumption="3197.00"/> - <Entry engineSpeed="560.00" torque="400.00" fuelConsumption="5295.00"/> - <Entry engineSpeed="560.00" torque="600.00" fuelConsumption="7615.00"/> - <Entry engineSpeed="560.00" torque="800.00" fuelConsumption="9375.00"/> - <Entry engineSpeed="560.00" torque="1000.00" fuelConsumption="11239.00"/> - <Entry engineSpeed="560.00" torque="1180.00" fuelConsumption="12869.00"/> - <Entry engineSpeed="600.00" torque="-148.00" fuelConsumption="0.00"/> - <Entry engineSpeed="600.00" torque="0.00" fuelConsumption="1459.00"/> - <Entry engineSpeed="600.00" torque="200.00" fuelConsumption="3358.00"/> - <Entry engineSpeed="600.00" torque="400.00" fuelConsumption="5498.00"/> - <Entry engineSpeed="600.00" torque="600.00" fuelConsumption="8101.00"/> - <Entry engineSpeed="600.00" torque="800.00" fuelConsumption="10014.00"/> - <Entry engineSpeed="600.00" torque="1000.00" fuelConsumption="12071.00"/> - <Entry engineSpeed="600.00" torque="1200.00" fuelConsumption="14201.00"/> - <Entry engineSpeed="600.00" torque="1282.00" fuelConsumption="15304.00"/> - <Entry engineSpeed="800.00" torque="-149.00" fuelConsumption="0.00"/> - <Entry engineSpeed="800.00" torque="0.00" fuelConsumption="1879.00"/> - <Entry engineSpeed="800.00" torque="200.00" fuelConsumption="4286.00"/> - <Entry engineSpeed="800.00" torque="400.00" fuelConsumption="7021.00"/> - <Entry engineSpeed="800.00" torque="600.00" fuelConsumption="10059.00"/> - <Entry engineSpeed="800.00" torque="800.00" fuelConsumption="13086.00"/> - <Entry engineSpeed="800.00" torque="1000.00" fuelConsumption="16015.00"/> - <Entry engineSpeed="800.00" torque="1200.00" fuelConsumption="19239.00"/> - <Entry engineSpeed="800.00" torque="1400.00" fuelConsumption="22426.00"/> - <Entry engineSpeed="800.00" torque="1600.00" fuelConsumption="25483.00"/> - <Entry engineSpeed="800.00" torque="1791.00" fuelConsumption="28905.00"/> - <Entry engineSpeed="1000.00" torque="-160.00" fuelConsumption="0.00"/> - <Entry engineSpeed="1000.00" torque="0.00" fuelConsumption="2865.00"/> - <Entry engineSpeed="1000.00" torque="200.00" fuelConsumption="5963.00"/> - <Entry engineSpeed="1000.00" torque="400.00" fuelConsumption="9198.00"/> - <Entry engineSpeed="1000.00" torque="600.00" fuelConsumption="12354.00"/> - <Entry engineSpeed="1000.00" torque="800.00" fuelConsumption="15965.00"/> - <Entry engineSpeed="1000.00" torque="1000.00" fuelConsumption="19864.00"/> - <Entry engineSpeed="1000.00" torque="1200.00" fuelConsumption="23530.00"/> - <Entry engineSpeed="1000.00" torque="1400.00" fuelConsumption="27202.00"/> - <Entry engineSpeed="1000.00" torque="1600.00" fuelConsumption="31165.00"/> - <Entry engineSpeed="1000.00" torque="1800.00" fuelConsumption="35103.00"/> - <Entry engineSpeed="1000.00" torque="2000.00" fuelConsumption="39360.00"/> - <Entry engineSpeed="1000.00" torque="2200.00" fuelConsumption="44120.00"/> - <Entry engineSpeed="1000.00" torque="2300.00" fuelConsumption="46836.00"/> - <Entry engineSpeed="1200.00" torque="-179.00" fuelConsumption="0.00"/> - <Entry engineSpeed="1200.00" torque="0.00" fuelConsumption="3307.00"/> - <Entry engineSpeed="1200.00" torque="200.00" fuelConsumption="6897.00"/> - <Entry engineSpeed="1200.00" torque="400.00" fuelConsumption="10651.00"/> - <Entry engineSpeed="1200.00" torque="600.00" fuelConsumption="14645.00"/> - <Entry engineSpeed="1200.00" torque="800.00" fuelConsumption="19115.00"/> - <Entry engineSpeed="1200.00" torque="1000.00" fuelConsumption="23677.00"/> - <Entry engineSpeed="1200.00" torque="1200.00" fuelConsumption="28180.00"/> - <Entry engineSpeed="1200.00" torque="1400.00" fuelConsumption="32431.00"/> - <Entry engineSpeed="1200.00" torque="1600.00" fuelConsumption="36698.00"/> - <Entry engineSpeed="1200.00" torque="1800.00" fuelConsumption="41691.00"/> - <Entry engineSpeed="1200.00" torque="2000.00" fuelConsumption="46915.00"/> - <Entry engineSpeed="1200.00" torque="2200.00" fuelConsumption="51783.00"/> - <Entry engineSpeed="1200.00" torque="2300.00" fuelConsumption="54932.00"/> - <Entry engineSpeed="1400.00" torque="-203.00" fuelConsumption="0.00"/> - <Entry engineSpeed="1400.00" torque="0.00" fuelConsumption="4306.00"/> - <Entry engineSpeed="1400.00" torque="200.00" fuelConsumption="8143.00"/> - <Entry engineSpeed="1400.00" torque="400.00" fuelConsumption="12723.00"/> - <Entry engineSpeed="1400.00" torque="600.00" fuelConsumption="17523.00"/> - <Entry engineSpeed="1400.00" torque="800.00" fuelConsumption="22288.00"/> - <Entry engineSpeed="1400.00" torque="1000.00" fuelConsumption="27093.00"/> - <Entry engineSpeed="1400.00" torque="1200.00" fuelConsumption="32536.00"/> - <Entry engineSpeed="1400.00" torque="1400.00" fuelConsumption="37746.00"/> - <Entry engineSpeed="1400.00" torque="1600.00" fuelConsumption="43194.00"/> - <Entry engineSpeed="1400.00" torque="1800.00" fuelConsumption="49453.00"/> - <Entry engineSpeed="1400.00" torque="2000.00" fuelConsumption="55830.00"/> - <Entry engineSpeed="1400.00" torque="2200.00" fuelConsumption="61072.00"/> - <Entry engineSpeed="1400.00" torque="2300.00" fuelConsumption="64377.00"/> - <Entry engineSpeed="1600.00" torque="-235.00" fuelConsumption="0.00"/> - <Entry engineSpeed="1600.00" torque="0.00" fuelConsumption="5209.00"/> - <Entry engineSpeed="1600.00" torque="200.00" fuelConsumption="9669.00"/> - <Entry engineSpeed="1600.00" torque="400.00" fuelConsumption="14838.00"/> - <Entry engineSpeed="1600.00" torque="600.00" fuelConsumption="20127.00"/> - <Entry engineSpeed="1600.00" torque="800.00" fuelConsumption="25894.00"/> - <Entry engineSpeed="1600.00" torque="1000.00" fuelConsumption="31631.00"/> - <Entry engineSpeed="1600.00" torque="1200.00" fuelConsumption="37248.00"/> - <Entry engineSpeed="1600.00" torque="1400.00" fuelConsumption="42826.00"/> - <Entry engineSpeed="1600.00" torque="1600.00" fuelConsumption="49752.00"/> - <Entry engineSpeed="1600.00" torque="1800.00" fuelConsumption="57020.00"/> - <Entry engineSpeed="1600.00" torque="2000.00" fuelConsumption="63914.00"/> - <Entry engineSpeed="1600.00" torque="2079.00" fuelConsumption="66520.00"/> - <Entry engineSpeed="1800.00" torque="-264.00" fuelConsumption="0.00"/> - <Entry engineSpeed="1800.00" torque="0.00" fuelConsumption="6409.00"/> - <Entry engineSpeed="1800.00" torque="200.00" fuelConsumption="11777.00"/> - <Entry engineSpeed="1800.00" torque="400.00" fuelConsumption="17320.00"/> - <Entry engineSpeed="1800.00" torque="600.00" fuelConsumption="23394.00"/> - <Entry engineSpeed="1800.00" torque="800.00" fuelConsumption="30501.00"/> - <Entry engineSpeed="1800.00" torque="1000.00" fuelConsumption="36378.00"/> - <Entry engineSpeed="1800.00" torque="1200.00" fuelConsumption="43079.00"/> - <Entry engineSpeed="1800.00" torque="1400.00" fuelConsumption="49796.00"/> - <Entry engineSpeed="1800.00" torque="1600.00" fuelConsumption="57436.00"/> - <Entry engineSpeed="1800.00" torque="1800.00" fuelConsumption="65157.00"/> - <Entry engineSpeed="1800.00" torque="1857.00" fuelConsumption="67574.00"/> - <Entry engineSpeed="2000.00" torque="-301.00" fuelConsumption="0.00"/> - <Entry engineSpeed="2000.00" torque="0.00" fuelConsumption="9127.00"/> - <Entry engineSpeed="2000.00" torque="200.00" fuelConsumption="14822.00"/> - <Entry engineSpeed="2000.00" torque="400.00" fuelConsumption="20655.00"/> - <Entry engineSpeed="2000.00" torque="600.00" fuelConsumption="27076.00"/> - <Entry engineSpeed="2000.00" torque="800.00" fuelConsumption="34188.00"/> - <Entry engineSpeed="2000.00" torque="1000.00" fuelConsumption="42837.00"/> - <Entry engineSpeed="2000.00" torque="1200.00" fuelConsumption="51018.00"/> - <Entry engineSpeed="2000.00" torque="1352.00" fuelConsumption="56618.00"/> - <Entry engineSpeed="2100.00" torque="-320.00" fuelConsumption="0.00"/> - <Entry engineSpeed="2100.00" torque="0.00" fuelConsumption="10470.00"/> - <Entry engineSpeed="2100.00" torque="200.00" fuelConsumption="16332.00"/> - <Entry engineSpeed="2100.00" torque="400.00" fuelConsumption="22396.00"/> - <Entry engineSpeed="2100.00" torque="600.00" fuelConsumption="28914.00"/> - <Entry engineSpeed="2100.00" torque="800.00" fuelConsumption="35717.00"/> - <Entry engineSpeed="2100.00" torque="1000.00" fuelConsumption="45643.00"/> - <Entry engineSpeed="2100.00" torque="1100.00" fuelConsumption="50653.00"/> - </FuelConsumptionMap> - <FullLoadAndDragCurve> - <Entry engineSpeed="560.00" maxTorque="1180.00" dragTorque="-149.00"/> - <Entry engineSpeed="600.00" maxTorque="1282.00" dragTorque="-148.00"/> - <Entry engineSpeed="800.00" maxTorque="1791.00" dragTorque="-149.00"/> - <Entry engineSpeed="1000.00" maxTorque="2300.00" dragTorque="-160.00"/> - <Entry engineSpeed="1200.00" maxTorque="2300.00" dragTorque="-179.00"/> - <Entry engineSpeed="1400.00" maxTorque="2300.00" dragTorque="-203.00"/> - <Entry engineSpeed="1600.00" maxTorque="2079.00" dragTorque="-235.00"/> - <Entry engineSpeed="1800.00" maxTorque="1857.00" dragTorque="-264.00"/> - <Entry engineSpeed="2000.00" maxTorque="1352.00" dragTorque="-301.00"/> - <Entry engineSpeed="2100.00" maxTorque="1100.00" dragTorque="-320.00"/> - </FullLoadAndDragCurve> - </Data> - <Signature> - <ComponentDataHash>e0c253b643f7f8f09b963aca4a264d06fbfa599f</ComponentDataHash> - </Signature> - </Engine> - <Gearbox> - <Data id="gbx-vi2Oak2N"> - <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> - <Model>Generic 40t Long Haul Truck Gearbox</Model> - <Creator>Markus Quaritsch, TUG IVT</Creator> - <Date>2017-01-11T11:00:00Z</Date> - <AppVersion>3.0.1</AppVersion> - <TransmissionType>AMT</TransmissionType> - <Inertia>0.6</Inertia> - <TractionInterruption>1.5</TractionInterruption> - <Gears> - <Gear number="1"> - <Ratio>14.930</Ratio> - <MaxTorque>5000</MaxTorque> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> - <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> - <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> - <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> - <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> - <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> - <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> - <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> - <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> - <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> - <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> - <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> - <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> - <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> - <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> - <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> - <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> - <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> - <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> - <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> - <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> - <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> - <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> - <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> - <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> - <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> - <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> - <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> - <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> - <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> - <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> - <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> - <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> - <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> - <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> - <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> - <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> - <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> - <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> - <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> - <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> - <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> - <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> - <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> - <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> - <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> - <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> - <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> - <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> - <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> - <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> - <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> - <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> - <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> - <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> - <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> - <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> - <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> - <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> - <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> - <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> - <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> - <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> - <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> - <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> - <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> - <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> - <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> - <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> - <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> - <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> - <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> - <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> - <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> - <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> - <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> - <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> - <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> - <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> - <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> - <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> - <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> - <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> - <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> - <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> - <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> - <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> - <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> - <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> - <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> - <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> - <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> - <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> - <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> - <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> - <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> - <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> - <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> - <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> - <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> - <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> - <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> - <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> - <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> - <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> - <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> - <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> - <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> - <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> - <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> - <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> - <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> - <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> - <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> - <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> - <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> - <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> - <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> - <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> - <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> - <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> - <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> - <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> - <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> - <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> - <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> - <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> - <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> - <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> - <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> - <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> - <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> - <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> - <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> - <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> - <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> - <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> - <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> - <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> - <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> - <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> - <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> - <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> - <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> - <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> - <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> - <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> - <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> - <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> - <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> - <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> - <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> - <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> - <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> - <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> - <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> - <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> - <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> - <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> - <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> - <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> - <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> - <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> - <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> - <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> - <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> - <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> - <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> - <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> - <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> - <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> - <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> - <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> - <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> - <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> - <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> - <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> - <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> - <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> - <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> - </TorqueLossMap> - </Gear> - <Gear number="2"> - <Ratio>11.640</Ratio> - <MaxTorque>5000</MaxTorque> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> - <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> - <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> - <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> - <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> - <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> - <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> - <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> - <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> - <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> - <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> - <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> - <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> - <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> - <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> - <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> - <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> - <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> - <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> - <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> - <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> - <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> - <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> - <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> - <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> - <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> - <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> - <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> - <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> - <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> - <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> - <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> - <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> - <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> - <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> - <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> - <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> - <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> - <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> - <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> - <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> - <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> - <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> - <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> - <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> - <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> - <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> - <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> - <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> - <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> - <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> - <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> - <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> - <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> - <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> - <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> - <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> - <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> - <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> - <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> - <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> - <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> - <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> - <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> - <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> - <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> - <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> - <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> - <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> - <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> - <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> - <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> - <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> - <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> - <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> - <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> - <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> - <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> - <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> - <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> - <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> - <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> - <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> - <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> - <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> - <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> - <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> - <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> - <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> - <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> - <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> - <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> - <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> - <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> - <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> - <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> - <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> - <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> - <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> - <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> - <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> - <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> - <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> - <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> - <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> - <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> - <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> - <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> - <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> - <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> - <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> - <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> - <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> - <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> - <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> - <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> - <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> - <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> - <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> - <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> - <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> - <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> - <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> - <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> - <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> - <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> - <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> - <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> - <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> - <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> - <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> - <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> - <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> - <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> - <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> - <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> - <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> - <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> - <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> - <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> - <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> - <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> - <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> - <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> - <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> - <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> - <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> - <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> - <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> - <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> - <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> - <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> - <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> - <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> - <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> - <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> - <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> - <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> - <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> - <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> - <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> - <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> - <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> - <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> - <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> - <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> - <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> - <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> - <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> - <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> - <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> - <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> - <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> - <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> - <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> - <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> - <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> - <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> - <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> - <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> - </TorqueLossMap> - </Gear> - <Gear number="3"> - <Ratio>9.020</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> - <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> - <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> - <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> - <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> - <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> - <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> - <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> - <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> - <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> - <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> - <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> - <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> - <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> - <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> - <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> - <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> - <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> - <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> - <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> - <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> - <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> - <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> - <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> - <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> - <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> - <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> - <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> - <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> - <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> - <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> - <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> - <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> - <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> - <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> - <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> - <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> - <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> - <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> - <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> - <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> - <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> - <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> - <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> - <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> - <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> - <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> - <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> - <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> - <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> - <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> - <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> - <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> - <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> - <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> - <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> - <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> - <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> - <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> - <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> - <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> - <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> - <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> - <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> - <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> - <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> - <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> - <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> - <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> - <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> - <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> - <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> - <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> - <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> - <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> - <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> - <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> - <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> - <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> - <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> - <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> - <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> - <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> - <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> - <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> - <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> - <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> - <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> - <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> - <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> - <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> - <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> - <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> - <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> - <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> - <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> - <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> - <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> - <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> - <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> - <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> - <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> - <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> - <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> - <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> - <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> - <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> - <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> - <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> - <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> - <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> - <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> - <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> - <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> - <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> - <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> - <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> - <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> - <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> - <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> - <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> - <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> - <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> - <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> - <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> - <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> - <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> - <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> - <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> - <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> - <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> - <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> - <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> - <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> - <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> - <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> - <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> - <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> - <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> - <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> - <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> - <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> - <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> - <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> - <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> - <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> - <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> - <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> - <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> - <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> - <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> - <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> - <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> - <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> - <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> - <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> - <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> - <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> - <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> - <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> - <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> - <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> - <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> - <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> - <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> - <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> - <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> - <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> - <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> - <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> - <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> - <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> - <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> - <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> - <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> - <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> - <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> - <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> - <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> - <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> - </TorqueLossMap> - </Gear> - <Gear number="4"> - <Ratio>7.040</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> - <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> - <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> - <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> - <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> - <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> - <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> - <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> - <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> - <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> - <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> - <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> - <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> - <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> - <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> - <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> - <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> - <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> - <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> - <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> - <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> - <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> - <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> - <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> - <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> - <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> - <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> - <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> - <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> - <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> - <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> - <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> - <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> - <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> - <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> - <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> - <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> - <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> - <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> - <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> - <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> - <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> - <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> - <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> - <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> - <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> - <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> - <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> - <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> - <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> - <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> - <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> - <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> - <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> - <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> - <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> - <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> - <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> - <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> - <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> - <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> - <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> - <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> - <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> - <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> - <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> - <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> - <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> - <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> - <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> - <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> - <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> - <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> - <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> - <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> - <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> - <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> - <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> - <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> - <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> - <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> - <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> - <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> - <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> - <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> - <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> - <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> - <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> - <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> - <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> - <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> - <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> - <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> - <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> - <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> - <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> - <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> - <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> - <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> - <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> - <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> - <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> - <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> - <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> - <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> - <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> - <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> - <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> - <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> - <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> - <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> - <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> - <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> - <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> - <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> - <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> - <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> - <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> - <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> - <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> - <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> - <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> - <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> - <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> - <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> - <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> - <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> - <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> - <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> - <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> - <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> - <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> - <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> - <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> - <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> - <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> - <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> - <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> - <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> - <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> - <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> - <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> - <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> - <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> - <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> - <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> - <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> - <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> - <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> - <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> - <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> - <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> - <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> - <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> - <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> - <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> - <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> - <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> - <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> - <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> - <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> - <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> - <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> - <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> - <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> - <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> - <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> - <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> - <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> - <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> - <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> - <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> - <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> - <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> - <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> - <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> - <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> - <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> - <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> - <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> - </TorqueLossMap> - </Gear> - <Gear number="5"> - <Ratio>5.640</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> - <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> - <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> - <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> - <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> - <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> - <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> - <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> - <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> - <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> - <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> - <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> - <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> - <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> - <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> - <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> - <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> - <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> - <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> - <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> - <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> - <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> - <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> - <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> - <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> - <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> - <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> - <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> - <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> - <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> - <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> - <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> - <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> - <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> - <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> - <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> - <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> - <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> - <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> - <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> - <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> - <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> - <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> - <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> - <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> - <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> - <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> - <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> - <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> - <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> - <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> - <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> - <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> - <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> - <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> - <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> - <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> - <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> - <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> - <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> - <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> - <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> - <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> - <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> - <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> - <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> - <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> - <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> - <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> - <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> - <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> - <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> - <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> - <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> - <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> - <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> - <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> - <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> - <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> - <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> - <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> - <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> - <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> - <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> - <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> - <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> - <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> - <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> - <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> - <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> - <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> - <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> - <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> - <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> - <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> - <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> - <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> - <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> - <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> - <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> - <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> - <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> - <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> - <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> - <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> - <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> - <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> - <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> - <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> - <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> - <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> - <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> - <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> - <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> - <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> - <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> - <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> - <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> - <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> - <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> - <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> - <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> - <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> - <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> - <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> - <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> - <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> - <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> - <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> - <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> - <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> - <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> - <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> - <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> - <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> - <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> - <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> - <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> - <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> - <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> - <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> - <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> - <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> - <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> - <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> - <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> - <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> - <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> - <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> - <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> - <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> - <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> - <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> - <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> - <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> - <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> - <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> - <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> - <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> - <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> - <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> - <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> - <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> - <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> - <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> - <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> - <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> - <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> - <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> - <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> - <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> - <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> - <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> - <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> - <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> - <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> - <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> - <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> - <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> - <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> - </TorqueLossMap> - </Gear> - <Gear number="6"> - <Ratio>4.400</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> - <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> - <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> - <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> - <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> - <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> - <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> - <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> - <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> - <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> - <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> - <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> - <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> - <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> - <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> - <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> - <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> - <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> - <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> - <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> - <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> - <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> - <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> - <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> - <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> - <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> - <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> - <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> - <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> - <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> - <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> - <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> - <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> - <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> - <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> - <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> - <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> - <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> - <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> - <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> - <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> - <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> - <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> - <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> - <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> - <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> - <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> - <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> - <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> - <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> - <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> - <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> - <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> - <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> - <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> - <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> - <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> - <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> - <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> - <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> - <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> - <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> - <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> - <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> - <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> - <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> - <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> - <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> - <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> - <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> - <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> - <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> - <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> - <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> - <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> - <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> - <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> - <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> - <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> - <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> - <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> - <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> - <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> - <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> - <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> - <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> - <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> - <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> - <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> - <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> - <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> - <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> - <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> - <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> - <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> - <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> - <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> - <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> - <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> - <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> - <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> - <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> - <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> - <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> - <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> - <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> - <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> - <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> - <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> - <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> - <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> - <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> - <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> - <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> - <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> - <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> - <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> - <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> - <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> - <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> - <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> - <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> - <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> - <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> - <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> - <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> - <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> - <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> - <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> - <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> - <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> - <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> - <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> - <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> - <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> - <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> - <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> - <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> - <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> - <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> - <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> - <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> - <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> - <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> - <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> - <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> - <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> - <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> - <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> - <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> - <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> - <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> - <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> - <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> - <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> - <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> - <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> - <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> - <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> - <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> - <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> - <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> - <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> - <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> - <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> - <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> - <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> - <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> - <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> - <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> - <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> - <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> - <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> - <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> - <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> - <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> - <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> - <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> - <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> - <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> - </TorqueLossMap> - </Gear> - <Gear number="7"> - <Ratio>3.390</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> - <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> - <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> - <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> - <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> - <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> - <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> - <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> - <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> - <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> - <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> - <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> - <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> - <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> - <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> - <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> - <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> - <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> - <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> - <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> - <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> - <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> - <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> - <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> - <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> - <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> - <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> - <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> - <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> - <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> - <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> - <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> - <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> - <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> - <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> - <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> - <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> - <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> - <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> - <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> - <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> - <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> - <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> - <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> - <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> - <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> - <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> - <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> - <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> - <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> - <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> - <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> - <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> - <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> - <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> - <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> - <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> - <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> - <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> - <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> - <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> - <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> - <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> - <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> - <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> - <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> - <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> - <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> - <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> - <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> - <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> - <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> - <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> - <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> - <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> - <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> - <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> - <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> - <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> - <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> - <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> - <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> - <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> - <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> - <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> - <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> - <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> - <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> - <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> - <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> - <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> - <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> - <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> - <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> - <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> - <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> - <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> - <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> - <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> - <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> - <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> - <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> - <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> - <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> - <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> - <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> - <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> - <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> - <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> - <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> - <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> - <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> - <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> - <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> - <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> - <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> - <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> - <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> - <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> - <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> - <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> - <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> - <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> - <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> - <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> - <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> - <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> - <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> - <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> - <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> - <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> - <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> - <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> - <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> - <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> - <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> - <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> - <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> - <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> - <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> - <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> - <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> - <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> - <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> - <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> - <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> - <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> - <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> - <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> - <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> - <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> - <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> - <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> - <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> - <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> - <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> - <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> - <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> - <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> - <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> - <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> - <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> - <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> - <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> - <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> - <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> - <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> - <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> - <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> - <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> - <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> - <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> - <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> - <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> - <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> - <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> - <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> - <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> - <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> - <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> - </TorqueLossMap> - </Gear> - <Gear number="8"> - <Ratio>2.650</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> - <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> - <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> - <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> - <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> - <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> - <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> - <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> - <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> - <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> - <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> - <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> - <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> - <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> - <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> - <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> - <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> - <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> - <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> - <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> - <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> - <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> - <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> - <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> - <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> - <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> - <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> - <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> - <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> - <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> - <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> - <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> - <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> - <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> - <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> - <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> - <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> - <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> - <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> - <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> - <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> - <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> - <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> - <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> - <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> - <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> - <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> - <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> - <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> - <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> - <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> - <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> - <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> - <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> - <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> - <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> - <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> - <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> - <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> - <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> - <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> - <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> - <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> - <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> - <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> - <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> - <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> - <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> - <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> - <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> - <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> - <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> - <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> - <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> - <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> - <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> - <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> - <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> - <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> - <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> - <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> - <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> - <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> - <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> - <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> - <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> - <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> - <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> - <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> - <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> - <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> - <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> - <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> - <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> - <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> - <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> - <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> - <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> - <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> - <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> - <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> - <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> - <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> - <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> - <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> - <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> - <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> - <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> - <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> - <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> - <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> - <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> - <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> - <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> - <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> - <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> - <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> - <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> - <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> - <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> - <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> - <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> - <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> - <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> - <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> - <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> - <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> - <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> - <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> - <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> - <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> - <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> - <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> - <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> - <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> - <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> - <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> - <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> - <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> - <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> - <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> - <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> - <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> - <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> - <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> - <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> - <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> - <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> - <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> - <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> - <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> - <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> - <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> - <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> - <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> - <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> - <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> - <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> - <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> - <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> - <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> - <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> - <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> - <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> - <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> - <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> - <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> - <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> - <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> - <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> - <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> - <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> - <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> - <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> - <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> - <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> - <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> - <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> - <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> - <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> - </TorqueLossMap> - </Gear> - <Gear number="9"> - <Ratio>2.050</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> - <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> - <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> - <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> - <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> - <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> - <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> - <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> - <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> - <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> - <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> - <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> - <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> - <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> - <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> - <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> - <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> - <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> - <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> - <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> - <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> - <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> - <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> - <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> - <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> - <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> - <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> - <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> - <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> - <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> - <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> - <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> - <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> - <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> - <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> - <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> - <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> - <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> - <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> - <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> - <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> - <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> - <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> - <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> - <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> - <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> - <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> - <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> - <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> - <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> - <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> - <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> - <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> - <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> - <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> - <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> - <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> - <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> - <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> - <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> - <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> - <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> - <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> - <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> - <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> - <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> - <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> - <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> - <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> - <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> - <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> - <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> - <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> - <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> - <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> - <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> - <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> - <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> - <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> - <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> - <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> - <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> - <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> - <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> - <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> - <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> - <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> - <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> - <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> - <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> - <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> - <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> - <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> - <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> - <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> - <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> - <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> - <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> - <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> - <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> - <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> - <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> - <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> - <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> - <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> - <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> - <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> - <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> - <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> - <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> - <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> - <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> - <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> - <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> - <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> - <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> - <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> - <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> - <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> - <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> - <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> - <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> - <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> - <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> - <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> - <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> - <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> - <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> - <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> - <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> - <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> - <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> - <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> - <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> - <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> - <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> - <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> - <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> - <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> - <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> - <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> - <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> - <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> - <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> - <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> - <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> - <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> - <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> - <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> - <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> - <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> - <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> - <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> - <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> - <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> - <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> - <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> - <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> - <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> - <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> - <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> - <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> - <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> - <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> - <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> - <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> - <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> - <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> - <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> - <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> - <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> - <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> - <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> - <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> - <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> - <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> - <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> - <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> - <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> - <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> - </TorqueLossMap> - </Gear> - <Gear number="10"> - <Ratio>1.600</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> - <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> - <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> - <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> - <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> - <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> - <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> - <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> - <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> - <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> - <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> - <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> - <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> - <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> - <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> - <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> - <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> - <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> - <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> - <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> - <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> - <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> - <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> - <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> - <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> - <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> - <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> - <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> - <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> - <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> - <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> - <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> - <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> - <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> - <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> - <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> - <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> - <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> - <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> - <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> - <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> - <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> - <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> - <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> - <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> - <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> - <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> - <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> - <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> - <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> - <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> - <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> - <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> - <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> - <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> - <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> - <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> - <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> - <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> - <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> - <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> - <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> - <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> - <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> - <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> - <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> - <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> - <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> - <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> - <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> - <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> - <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> - <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> - <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> - <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> - <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> - <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> - <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> - <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> - <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> - <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> - <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> - <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> - <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> - <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> - <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> - <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> - <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> - <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> - <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> - <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> - <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> - <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> - <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> - <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> - <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> - <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> - <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> - <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> - <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> - <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> - <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> - <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> - <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> - <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> - <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> - <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> - <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> - <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> - <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> - <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> - <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> - <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> - <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> - <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> - <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> - <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> - <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> - <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> - <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> - <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> - <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> - <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> - <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> - <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> - <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> - <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> - <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> - <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> - <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> - <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> - <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> - <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> - <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> - <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> - <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> - <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> - <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> - <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> - <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> - <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> - <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> - <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> - <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> - <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> - <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> - <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> - <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> - <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> - <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> - <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> - <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> - <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> - <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> - <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> - <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> - <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> - <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> - <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> - <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> - <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> - <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> - <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> - <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> - <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> - <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> - <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> - <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> - <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> - <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> - <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> - <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> - <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> - <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> - <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> - <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> - <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> - <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> - <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> - <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> - </TorqueLossMap> - </Gear> - <Gear number="11"> - <Ratio>1.280</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> - <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> - <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> - <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> - <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> - <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> - <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> - <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> - <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> - <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> - <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> - <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> - <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> - <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> - <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> - <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> - <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> - <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> - <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> - <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> - <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> - <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> - <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> - <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> - <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> - <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> - <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> - <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> - <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> - <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> - <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> - <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> - <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> - <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> - <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> - <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> - <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> - <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> - <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> - <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> - <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> - <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> - <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> - <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> - <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> - <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> - <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> - <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> - <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> - <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> - <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> - <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> - <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> - <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> - <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> - <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> - <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> - <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> - <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> - <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> - <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> - <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> - <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> - <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> - <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> - <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> - <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> - <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> - <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> - <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> - <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> - <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> - <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> - <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> - <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> - <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> - <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> - <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> - <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> - <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> - <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> - <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> - <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> - <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> - <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> - <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> - <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> - <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> - <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> - <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> - <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> - <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> - <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> - <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> - <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> - <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> - <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> - <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> - <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> - <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> - <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> - <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> - <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> - <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> - <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> - <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> - <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> - <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> - <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> - <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> - <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> - <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> - <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> - <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> - <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> - <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> - <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> - <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> - <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> - <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> - <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> - <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> - <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> - <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> - <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> - <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> - <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> - <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> - <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> - <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> - <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> - <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> - <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> - <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> - <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> - <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> - <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> - <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> - <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> - <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> - <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> - <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> - <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> - <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> - <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> - <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> - <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> - <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> - <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> - <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> - <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> - <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> - <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> - <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> - <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> - <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> - <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> - <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> - <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> - <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> - <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> - <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> - <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> - <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> - <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> - <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> - <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> - <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> - <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> - <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> - <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> - <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> - <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> - <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> - <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> - <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> - <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> - <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> - <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> - <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> - </TorqueLossMap> - </Gear> - <Gear number="12"> - <Ratio>1.000</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="6.81"/> - <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="5.81"/> - <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="5.31"/> - <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="6.31"/> - <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="7.31"/> - <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="8.31"/> - <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="9.31"/> - <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="10.31"/> - <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="11.31"/> - <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="12.31"/> - <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="13.31"/> - <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="14.31"/> - <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="15.31"/> - <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="16.31"/> - <Entry inputSpeed="0.00" inputTorque="2800.00" torqueLoss="17.31"/> - <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="7.32"/> - <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="6.32"/> - <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="5.82"/> - <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="6.82"/> - <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="7.82"/> - <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="8.82"/> - <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="9.82"/> - <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="10.82"/> - <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="11.82"/> - <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="12.82"/> - <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="13.82"/> - <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="14.82"/> - <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="15.82"/> - <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="16.82"/> - <Entry inputSpeed="100.00" inputTorque="2800.00" torqueLoss="17.82"/> - <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="8.33"/> - <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="7.33"/> - <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="6.83"/> - <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="7.83"/> - <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="8.83"/> - <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="9.83"/> - <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="10.83"/> - <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="11.83"/> - <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="12.83"/> - <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="13.83"/> - <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="14.83"/> - <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="15.83"/> - <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="16.83"/> - <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="17.83"/> - <Entry inputSpeed="300.00" inputTorque="2800.00" torqueLoss="18.83"/> - <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="9.34"/> - <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="8.34"/> - <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="7.84"/> - <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="8.84"/> - <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="9.84"/> - <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="10.84"/> - <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="11.84"/> - <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="12.84"/> - <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="13.84"/> - <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="14.84"/> - <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="15.84"/> - <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="16.84"/> - <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="17.84"/> - <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="18.84"/> - <Entry inputSpeed="500.00" inputTorque="2800.00" torqueLoss="19.84"/> - <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="10.35"/> - <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="9.35"/> - <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="8.85"/> - <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="9.85"/> - <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="10.85"/> - <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="11.85"/> - <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="12.85"/> - <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="13.85"/> - <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="14.85"/> - <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="15.85"/> - <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="16.85"/> - <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="17.85"/> - <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="18.85"/> - <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="19.85"/> - <Entry inputSpeed="700.00" inputTorque="2800.00" torqueLoss="20.85"/> - <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="11.36"/> - <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="10.36"/> - <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="9.86"/> - <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="10.86"/> - <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="11.86"/> - <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="12.86"/> - <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="13.86"/> - <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="14.86"/> - <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="15.86"/> - <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="16.86"/> - <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="17.86"/> - <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="18.86"/> - <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="19.86"/> - <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="20.86"/> - <Entry inputSpeed="900.00" inputTorque="2800.00" torqueLoss="21.86"/> - <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="12.37"/> - <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="11.37"/> - <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="10.88"/> - <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="11.88"/> - <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="12.88"/> - <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="13.88"/> - <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="14.88"/> - <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="15.88"/> - <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="16.88"/> - <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="17.88"/> - <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="18.88"/> - <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="19.88"/> - <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="20.88"/> - <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="21.88"/> - <Entry inputSpeed="1100.00" inputTorque="2800.00" torqueLoss="22.88"/> - <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="13.39"/> - <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="12.39"/> - <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="11.89"/> - <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="12.89"/> - <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="13.89"/> - <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="14.89"/> - <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="15.89"/> - <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="16.89"/> - <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="17.89"/> - <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="18.89"/> - <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="19.89"/> - <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="20.89"/> - <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="21.89"/> - <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="22.89"/> - <Entry inputSpeed="1300.00" inputTorque="2800.00" torqueLoss="23.89"/> - <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="14.40"/> - <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="13.40"/> - <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="12.90"/> - <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="13.90"/> - <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="14.90"/> - <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="15.90"/> - <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="16.90"/> - <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="17.90"/> - <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="18.90"/> - <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="19.90"/> - <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="20.90"/> - <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="21.90"/> - <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="22.90"/> - <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="23.90"/> - <Entry inputSpeed="1500.00" inputTorque="2800.00" torqueLoss="24.90"/> - <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="15.41"/> - <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="14.41"/> - <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="13.91"/> - <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="14.91"/> - <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="15.91"/> - <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="16.91"/> - <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="17.91"/> - <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="18.91"/> - <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="19.91"/> - <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="20.91"/> - <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="21.91"/> - <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="22.91"/> - <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="23.91"/> - <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="24.91"/> - <Entry inputSpeed="1700.00" inputTorque="2800.00" torqueLoss="25.91"/> - <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="16.42"/> - <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="15.42"/> - <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="14.92"/> - <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="15.92"/> - <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="16.92"/> - <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="17.92"/> - <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="18.92"/> - <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="19.92"/> - <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="20.92"/> - <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="21.92"/> - <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="22.92"/> - <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="23.92"/> - <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="24.92"/> - <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="25.92"/> - <Entry inputSpeed="1900.00" inputTorque="2800.00" torqueLoss="26.92"/> - <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="17.43"/> - <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="16.43"/> - <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="15.94"/> - <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="16.94"/> - <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="17.94"/> - <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="18.94"/> - <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="19.94"/> - <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="20.94"/> - <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="21.94"/> - <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="22.94"/> - <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="23.94"/> - <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="24.94"/> - <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="25.94"/> - <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="26.94"/> - <Entry inputSpeed="2100.00" inputTorque="2800.00" torqueLoss="27.94"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="10.06"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="10.56"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="11.58"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="12.59"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="13.60"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="14.61"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="15.63"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="16.64"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="17.65"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="18.66"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="19.67"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="20.69"/> - </TorqueLossMap> - </Gear> - </Gears> - </Data> - <Signature> - <ComponentDataHash>d14189366134120e08fa3f2c6e3328dd13c08a23</ComponentDataHash> - </Signature> - </Gearbox> - <Retarder> - <Data id="RET-Shai9imi"> - <Manufacturer>Generic Retarder Manufacturer</Manufacturer> - <Model>Generic Retarder</Model> - <Creator>Markus Quaritsch, TUG ITI</Creator> - <Date>2017-01-11T11:00:00Z</Date> - <AppVersion>3.0.1</AppVersion> - <RetarderLossMap> - <Entry retarderSpeed="0.00" torqueLoss="10.00"/> - <Entry retarderSpeed="100.00" torqueLoss="10.02"/> - <Entry retarderSpeed="200.00" torqueLoss="10.08"/> - <Entry retarderSpeed="300.00" torqueLoss="10.18"/> - <Entry retarderSpeed="400.00" torqueLoss="10.32"/> - <Entry retarderSpeed="500.00" torqueLoss="10.50"/> - <Entry retarderSpeed="600.00" torqueLoss="10.72"/> - <Entry retarderSpeed="700.00" torqueLoss="10.98"/> - <Entry retarderSpeed="800.00" torqueLoss="11.28"/> - <Entry retarderSpeed="900.00" torqueLoss="11.62"/> - <Entry retarderSpeed="1000.00" torqueLoss="12.00"/> - <Entry retarderSpeed="1100.00" torqueLoss="12.42"/> - <Entry retarderSpeed="1200.00" torqueLoss="12.88"/> - <Entry retarderSpeed="1300.00" torqueLoss="13.38"/> - <Entry retarderSpeed="1400.00" torqueLoss="13.92"/> - <Entry retarderSpeed="1500.00" torqueLoss="14.50"/> - <Entry retarderSpeed="1600.00" torqueLoss="15.12"/> - <Entry retarderSpeed="1700.00" torqueLoss="15.78"/> - <Entry retarderSpeed="1800.00" torqueLoss="16.48"/> - <Entry retarderSpeed="1900.00" torqueLoss="17.22"/> - <Entry retarderSpeed="2000.00" torqueLoss="18.00"/> - <Entry retarderSpeed="2100.00" torqueLoss="18.82"/> - <Entry retarderSpeed="2200.00" torqueLoss="19.68"/> - <Entry retarderSpeed="2300.00" torqueLoss="20.58"/> - </RetarderLossMap> - </Data> - <Signature> - <ComponentDataHash>da830e08360407c5168f1a37e9760e0cbbf8a17d</ComponentDataHash> - </Signature> - </Retarder> - <Axlegear> - <Data id="AXL-EC3ohnoh"> - <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> - <Model>Generic 40t Long Haul Truck AxleGear</Model> - <Creator>Markus Quaritsch, TUG ITI</Creator> - <Date>2017-01-11T11:00:00Z</Date> - <AppVersion>3.0.1</AppVersion> - <Ratio>2.590</Ratio> - <TorqueLossMap> - <Entry inputSpeed="0.00" inputTorque="-5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="0.00" inputTorque="-4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="0.00" inputTorque="-3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="0.00" inputTorque="-2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="40.00"/> - <Entry inputSpeed="0.00" inputTorque="1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="0.00" inputTorque="2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="0.00" inputTorque="4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="0.00" inputTorque="5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="0.00" inputTorque="6000.00" torqueLoss="130.00"/> - <Entry inputSpeed="0.00" inputTorque="7000.00" torqueLoss="145.00"/> - <Entry inputSpeed="0.00" inputTorque="8000.00" torqueLoss="160.00"/> - <Entry inputSpeed="0.00" inputTorque="9000.00" torqueLoss="175.00"/> - <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="190.00"/> - <Entry inputSpeed="0.00" inputTorque="11000.00" torqueLoss="205.00"/> - <Entry inputSpeed="0.00" inputTorque="12000.00" torqueLoss="220.00"/> - <Entry inputSpeed="0.00" inputTorque="13000.00" torqueLoss="235.00"/> - <Entry inputSpeed="0.00" inputTorque="14000.00" torqueLoss="250.00"/> - <Entry inputSpeed="0.00" inputTorque="15000.00" torqueLoss="265.00"/> - <Entry inputSpeed="0.00" inputTorque="16000.00" torqueLoss="280.00"/> - <Entry inputSpeed="0.00" inputTorque="17000.00" torqueLoss="295.00"/> - <Entry inputSpeed="0.00" inputTorque="18000.00" torqueLoss="310.00"/> - <Entry inputSpeed="0.00" inputTorque="19000.00" torqueLoss="325.00"/> - <Entry inputSpeed="0.00" inputTorque="20000.00" torqueLoss="340.00"/> - <Entry inputSpeed="0.00" inputTorque="21000.00" torqueLoss="355.00"/> - <Entry inputSpeed="0.00" inputTorque="22000.00" torqueLoss="370.00"/> - <Entry inputSpeed="0.00" inputTorque="23000.00" torqueLoss="385.00"/> - <Entry inputSpeed="0.00" inputTorque="24000.00" torqueLoss="400.00"/> - <Entry inputSpeed="0.00" inputTorque="25000.00" torqueLoss="415.00"/> - <Entry inputSpeed="0.00" inputTorque="26000.00" torqueLoss="430.00"/> - <Entry inputSpeed="0.00" inputTorque="27000.00" torqueLoss="445.00"/> - <Entry inputSpeed="0.00" inputTorque="28000.00" torqueLoss="460.00"/> - <Entry inputSpeed="0.00" inputTorque="29000.00" torqueLoss="475.00"/> - <Entry inputSpeed="0.00" inputTorque="30000.00" torqueLoss="490.00"/> - <Entry inputSpeed="0.00" inputTorque="31000.00" torqueLoss="505.00"/> - <Entry inputSpeed="0.00" inputTorque="32000.00" torqueLoss="520.00"/> - <Entry inputSpeed="0.00" inputTorque="33000.00" torqueLoss="535.00"/> - <Entry inputSpeed="0.00" inputTorque="34000.00" torqueLoss="550.00"/> - <Entry inputSpeed="0.00" inputTorque="35000.00" torqueLoss="565.00"/> - <Entry inputSpeed="100.00" inputTorque="-5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="100.00" inputTorque="-4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="100.00" inputTorque="-3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="100.00" inputTorque="-2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="100.00" inputTorque="0.00" torqueLoss="40.00"/> - <Entry inputSpeed="100.00" inputTorque="1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="100.00" inputTorque="2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="100.00" inputTorque="4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="100.00" inputTorque="5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="100.00" inputTorque="6000.00" torqueLoss="130.00"/> - <Entry inputSpeed="100.00" inputTorque="7000.00" torqueLoss="145.00"/> - <Entry inputSpeed="100.00" inputTorque="8000.00" torqueLoss="160.00"/> - <Entry inputSpeed="100.00" inputTorque="9000.00" torqueLoss="175.00"/> - <Entry inputSpeed="100.00" inputTorque="10000.00" torqueLoss="190.00"/> - <Entry inputSpeed="100.00" inputTorque="11000.00" torqueLoss="205.00"/> - <Entry inputSpeed="100.00" inputTorque="12000.00" torqueLoss="220.00"/> - <Entry inputSpeed="100.00" inputTorque="13000.00" torqueLoss="235.00"/> - <Entry inputSpeed="100.00" inputTorque="14000.00" torqueLoss="250.00"/> - <Entry inputSpeed="100.00" inputTorque="15000.00" torqueLoss="265.00"/> - <Entry inputSpeed="100.00" inputTorque="16000.00" torqueLoss="280.00"/> - <Entry inputSpeed="100.00" inputTorque="17000.00" torqueLoss="295.00"/> - <Entry inputSpeed="100.00" inputTorque="18000.00" torqueLoss="310.00"/> - <Entry inputSpeed="100.00" inputTorque="19000.00" torqueLoss="325.00"/> - <Entry inputSpeed="100.00" inputTorque="20000.00" torqueLoss="340.00"/> - <Entry inputSpeed="100.00" inputTorque="21000.00" torqueLoss="355.00"/> - <Entry inputSpeed="100.00" inputTorque="22000.00" torqueLoss="370.00"/> - <Entry inputSpeed="100.00" inputTorque="23000.00" torqueLoss="385.00"/> - <Entry inputSpeed="100.00" inputTorque="24000.00" torqueLoss="400.00"/> - <Entry inputSpeed="100.00" inputTorque="25000.00" torqueLoss="415.00"/> - <Entry inputSpeed="100.00" inputTorque="26000.00" torqueLoss="430.00"/> - <Entry inputSpeed="100.00" inputTorque="27000.00" torqueLoss="445.00"/> - <Entry inputSpeed="100.00" inputTorque="28000.00" torqueLoss="460.00"/> - <Entry inputSpeed="100.00" inputTorque="29000.00" torqueLoss="475.00"/> - <Entry inputSpeed="100.00" inputTorque="30000.00" torqueLoss="490.00"/> - <Entry inputSpeed="100.00" inputTorque="31000.00" torqueLoss="505.00"/> - <Entry inputSpeed="100.00" inputTorque="32000.00" torqueLoss="520.00"/> - <Entry inputSpeed="100.00" inputTorque="33000.00" torqueLoss="535.00"/> - <Entry inputSpeed="100.00" inputTorque="34000.00" torqueLoss="550.00"/> - <Entry inputSpeed="100.00" inputTorque="35000.00" torqueLoss="565.00"/> - <Entry inputSpeed="300.00" inputTorque="-5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="300.00" inputTorque="-4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="300.00" inputTorque="-3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="300.00" inputTorque="-2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="300.00" inputTorque="0.00" torqueLoss="40.00"/> - <Entry inputSpeed="300.00" inputTorque="1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="300.00" inputTorque="2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="300.00" inputTorque="4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="300.00" inputTorque="5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="300.00" inputTorque="6000.00" torqueLoss="130.00"/> - <Entry inputSpeed="300.00" inputTorque="7000.00" torqueLoss="145.00"/> - <Entry inputSpeed="300.00" inputTorque="8000.00" torqueLoss="160.00"/> - <Entry inputSpeed="300.00" inputTorque="9000.00" torqueLoss="175.00"/> - <Entry inputSpeed="300.00" inputTorque="10000.00" torqueLoss="190.00"/> - <Entry inputSpeed="300.00" inputTorque="11000.00" torqueLoss="205.00"/> - <Entry inputSpeed="300.00" inputTorque="12000.00" torqueLoss="220.00"/> - <Entry inputSpeed="300.00" inputTorque="13000.00" torqueLoss="235.00"/> - <Entry inputSpeed="300.00" inputTorque="14000.00" torqueLoss="250.00"/> - <Entry inputSpeed="300.00" inputTorque="15000.00" torqueLoss="265.00"/> - <Entry inputSpeed="300.00" inputTorque="16000.00" torqueLoss="280.00"/> - <Entry inputSpeed="300.00" inputTorque="17000.00" torqueLoss="295.00"/> - <Entry inputSpeed="300.00" inputTorque="18000.00" torqueLoss="310.00"/> - <Entry inputSpeed="300.00" inputTorque="19000.00" torqueLoss="325.00"/> - <Entry inputSpeed="300.00" inputTorque="20000.00" torqueLoss="340.00"/> - <Entry inputSpeed="300.00" inputTorque="21000.00" torqueLoss="355.00"/> - <Entry inputSpeed="300.00" inputTorque="22000.00" torqueLoss="370.00"/> - <Entry inputSpeed="300.00" inputTorque="23000.00" torqueLoss="385.00"/> - <Entry inputSpeed="300.00" inputTorque="24000.00" torqueLoss="400.00"/> - <Entry inputSpeed="300.00" inputTorque="25000.00" torqueLoss="415.00"/> - <Entry inputSpeed="300.00" inputTorque="26000.00" torqueLoss="430.00"/> - <Entry inputSpeed="300.00" inputTorque="27000.00" torqueLoss="445.00"/> - <Entry inputSpeed="300.00" inputTorque="28000.00" torqueLoss="460.00"/> - <Entry inputSpeed="300.00" inputTorque="29000.00" torqueLoss="475.00"/> - <Entry inputSpeed="300.00" inputTorque="30000.00" torqueLoss="490.00"/> - <Entry inputSpeed="300.00" inputTorque="31000.00" torqueLoss="505.00"/> - <Entry inputSpeed="300.00" inputTorque="32000.00" torqueLoss="520.00"/> - <Entry inputSpeed="300.00" inputTorque="33000.00" torqueLoss="535.00"/> - <Entry inputSpeed="300.00" inputTorque="34000.00" torqueLoss="550.00"/> - <Entry inputSpeed="300.00" inputTorque="35000.00" torqueLoss="565.00"/> - <Entry inputSpeed="500.00" inputTorque="-5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="500.00" inputTorque="-4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="500.00" inputTorque="-3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="500.00" inputTorque="-2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="500.00" inputTorque="0.00" torqueLoss="40.00"/> - <Entry inputSpeed="500.00" inputTorque="1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="500.00" inputTorque="2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="500.00" inputTorque="4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="500.00" inputTorque="5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="500.00" inputTorque="6000.00" torqueLoss="130.00"/> - <Entry inputSpeed="500.00" inputTorque="7000.00" torqueLoss="145.00"/> - <Entry inputSpeed="500.00" inputTorque="8000.00" torqueLoss="160.00"/> - <Entry inputSpeed="500.00" inputTorque="9000.00" torqueLoss="175.00"/> - <Entry inputSpeed="500.00" inputTorque="10000.00" torqueLoss="190.00"/> - <Entry inputSpeed="500.00" inputTorque="11000.00" torqueLoss="205.00"/> - <Entry inputSpeed="500.00" inputTorque="12000.00" torqueLoss="220.00"/> - <Entry inputSpeed="500.00" inputTorque="13000.00" torqueLoss="235.00"/> - <Entry inputSpeed="500.00" inputTorque="14000.00" torqueLoss="250.00"/> - <Entry inputSpeed="500.00" inputTorque="15000.00" torqueLoss="265.00"/> - <Entry inputSpeed="500.00" inputTorque="16000.00" torqueLoss="280.00"/> - <Entry inputSpeed="500.00" inputTorque="17000.00" torqueLoss="295.00"/> - <Entry inputSpeed="500.00" inputTorque="18000.00" torqueLoss="310.00"/> - <Entry inputSpeed="500.00" inputTorque="19000.00" torqueLoss="325.00"/> - <Entry inputSpeed="500.00" inputTorque="20000.00" torqueLoss="340.00"/> - <Entry inputSpeed="500.00" inputTorque="21000.00" torqueLoss="355.00"/> - <Entry inputSpeed="500.00" inputTorque="22000.00" torqueLoss="370.00"/> - <Entry inputSpeed="500.00" inputTorque="23000.00" torqueLoss="385.00"/> - <Entry inputSpeed="500.00" inputTorque="24000.00" torqueLoss="400.00"/> - <Entry inputSpeed="500.00" inputTorque="25000.00" torqueLoss="415.00"/> - <Entry inputSpeed="500.00" inputTorque="26000.00" torqueLoss="430.00"/> - <Entry inputSpeed="500.00" inputTorque="27000.00" torqueLoss="445.00"/> - <Entry inputSpeed="500.00" inputTorque="28000.00" torqueLoss="460.00"/> - <Entry inputSpeed="500.00" inputTorque="29000.00" torqueLoss="475.00"/> - <Entry inputSpeed="500.00" inputTorque="30000.00" torqueLoss="490.00"/> - <Entry inputSpeed="500.00" inputTorque="31000.00" torqueLoss="505.00"/> - <Entry inputSpeed="500.00" inputTorque="32000.00" torqueLoss="520.00"/> - <Entry inputSpeed="500.00" inputTorque="33000.00" torqueLoss="535.00"/> - <Entry inputSpeed="500.00" inputTorque="34000.00" torqueLoss="550.00"/> - <Entry inputSpeed="500.00" inputTorque="35000.00" torqueLoss="565.00"/> - <Entry inputSpeed="700.00" inputTorque="-5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="700.00" inputTorque="-4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="700.00" inputTorque="-3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="700.00" inputTorque="-2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="700.00" inputTorque="0.00" torqueLoss="40.00"/> - <Entry inputSpeed="700.00" inputTorque="1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="700.00" inputTorque="2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="700.00" inputTorque="4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="700.00" inputTorque="5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="700.00" inputTorque="6000.00" torqueLoss="130.00"/> - <Entry inputSpeed="700.00" inputTorque="7000.00" torqueLoss="145.00"/> - <Entry inputSpeed="700.00" inputTorque="8000.00" torqueLoss="160.00"/> - <Entry inputSpeed="700.00" inputTorque="9000.00" torqueLoss="175.00"/> - <Entry inputSpeed="700.00" inputTorque="10000.00" torqueLoss="190.00"/> - <Entry inputSpeed="700.00" inputTorque="11000.00" torqueLoss="205.00"/> - <Entry inputSpeed="700.00" inputTorque="12000.00" torqueLoss="220.00"/> - <Entry inputSpeed="700.00" inputTorque="13000.00" torqueLoss="235.00"/> - <Entry inputSpeed="700.00" inputTorque="14000.00" torqueLoss="250.00"/> - <Entry inputSpeed="700.00" inputTorque="15000.00" torqueLoss="265.00"/> - <Entry inputSpeed="700.00" inputTorque="16000.00" torqueLoss="280.00"/> - <Entry inputSpeed="700.00" inputTorque="17000.00" torqueLoss="295.00"/> - <Entry inputSpeed="700.00" inputTorque="18000.00" torqueLoss="310.00"/> - <Entry inputSpeed="700.00" inputTorque="19000.00" torqueLoss="325.00"/> - <Entry inputSpeed="700.00" inputTorque="20000.00" torqueLoss="340.00"/> - <Entry inputSpeed="700.00" inputTorque="21000.00" torqueLoss="355.00"/> - <Entry inputSpeed="700.00" inputTorque="22000.00" torqueLoss="370.00"/> - <Entry inputSpeed="700.00" inputTorque="23000.00" torqueLoss="385.00"/> - <Entry inputSpeed="700.00" inputTorque="24000.00" torqueLoss="400.00"/> - <Entry inputSpeed="700.00" inputTorque="25000.00" torqueLoss="415.00"/> - <Entry inputSpeed="700.00" inputTorque="26000.00" torqueLoss="430.00"/> - <Entry inputSpeed="700.00" inputTorque="27000.00" torqueLoss="445.00"/> - <Entry inputSpeed="700.00" inputTorque="28000.00" torqueLoss="460.00"/> - <Entry inputSpeed="700.00" inputTorque="29000.00" torqueLoss="475.00"/> - <Entry inputSpeed="700.00" inputTorque="30000.00" torqueLoss="490.00"/> - <Entry inputSpeed="700.00" inputTorque="31000.00" torqueLoss="505.00"/> - <Entry inputSpeed="700.00" inputTorque="32000.00" torqueLoss="520.00"/> - <Entry inputSpeed="700.00" inputTorque="33000.00" torqueLoss="535.00"/> - <Entry inputSpeed="700.00" inputTorque="34000.00" torqueLoss="550.00"/> - <Entry inputSpeed="700.00" inputTorque="35000.00" torqueLoss="565.00"/> - <Entry inputSpeed="900.00" inputTorque="-5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="900.00" inputTorque="-4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="900.00" inputTorque="-3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="900.00" inputTorque="-2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="40.00"/> - <Entry inputSpeed="900.00" inputTorque="1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="900.00" inputTorque="2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="900.00" inputTorque="4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="900.00" inputTorque="5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="900.00" inputTorque="6000.00" torqueLoss="130.00"/> - <Entry inputSpeed="900.00" inputTorque="7000.00" torqueLoss="145.00"/> - <Entry inputSpeed="900.00" inputTorque="8000.00" torqueLoss="160.00"/> - <Entry inputSpeed="900.00" inputTorque="9000.00" torqueLoss="175.00"/> - <Entry inputSpeed="900.00" inputTorque="10000.00" torqueLoss="190.00"/> - <Entry inputSpeed="900.00" inputTorque="11000.00" torqueLoss="205.00"/> - <Entry inputSpeed="900.00" inputTorque="12000.00" torqueLoss="220.00"/> - <Entry inputSpeed="900.00" inputTorque="13000.00" torqueLoss="235.00"/> - <Entry inputSpeed="900.00" inputTorque="14000.00" torqueLoss="250.00"/> - <Entry inputSpeed="900.00" inputTorque="15000.00" torqueLoss="265.00"/> - <Entry inputSpeed="900.00" inputTorque="16000.00" torqueLoss="280.00"/> - <Entry inputSpeed="900.00" inputTorque="17000.00" torqueLoss="295.00"/> - <Entry inputSpeed="900.00" inputTorque="18000.00" torqueLoss="310.00"/> - <Entry inputSpeed="900.00" inputTorque="19000.00" torqueLoss="325.00"/> - <Entry inputSpeed="900.00" inputTorque="20000.00" torqueLoss="340.00"/> - <Entry inputSpeed="900.00" inputTorque="21000.00" torqueLoss="355.00"/> - <Entry inputSpeed="900.00" inputTorque="22000.00" torqueLoss="370.00"/> - <Entry inputSpeed="900.00" inputTorque="23000.00" torqueLoss="385.00"/> - <Entry inputSpeed="900.00" inputTorque="24000.00" torqueLoss="400.00"/> - <Entry inputSpeed="900.00" inputTorque="25000.00" torqueLoss="415.00"/> - <Entry inputSpeed="900.00" inputTorque="26000.00" torqueLoss="430.00"/> - <Entry inputSpeed="900.00" inputTorque="27000.00" torqueLoss="445.00"/> - <Entry inputSpeed="900.00" inputTorque="28000.00" torqueLoss="460.00"/> - <Entry inputSpeed="900.00" inputTorque="29000.00" torqueLoss="475.00"/> - <Entry inputSpeed="900.00" inputTorque="30000.00" torqueLoss="490.00"/> - <Entry inputSpeed="900.00" inputTorque="31000.00" torqueLoss="505.00"/> - <Entry inputSpeed="900.00" inputTorque="32000.00" torqueLoss="520.00"/> - <Entry inputSpeed="900.00" inputTorque="33000.00" torqueLoss="535.00"/> - <Entry inputSpeed="900.00" inputTorque="34000.00" torqueLoss="550.00"/> - <Entry inputSpeed="900.00" inputTorque="35000.00" torqueLoss="565.00"/> - <Entry inputSpeed="1100.00" inputTorque="-5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="1100.00" inputTorque="-4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="1100.00" inputTorque="-3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="1100.00" inputTorque="-2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="1100.00" inputTorque="0.00" torqueLoss="40.00"/> - <Entry inputSpeed="1100.00" inputTorque="1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="1100.00" inputTorque="2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="1100.00" inputTorque="4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="1100.00" inputTorque="5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="1100.00" inputTorque="6000.00" torqueLoss="130.00"/> - <Entry inputSpeed="1100.00" inputTorque="7000.00" torqueLoss="145.00"/> - <Entry inputSpeed="1100.00" inputTorque="8000.00" torqueLoss="160.00"/> - <Entry inputSpeed="1100.00" inputTorque="9000.00" torqueLoss="175.00"/> - <Entry inputSpeed="1100.00" inputTorque="10000.00" torqueLoss="190.00"/> - <Entry inputSpeed="1100.00" inputTorque="11000.00" torqueLoss="205.00"/> - <Entry inputSpeed="1100.00" inputTorque="12000.00" torqueLoss="220.00"/> - <Entry inputSpeed="1100.00" inputTorque="13000.00" torqueLoss="235.00"/> - <Entry inputSpeed="1100.00" inputTorque="14000.00" torqueLoss="250.00"/> - <Entry inputSpeed="1100.00" inputTorque="15000.00" torqueLoss="265.00"/> - <Entry inputSpeed="1100.00" inputTorque="16000.00" torqueLoss="280.00"/> - <Entry inputSpeed="1100.00" inputTorque="17000.00" torqueLoss="295.00"/> - <Entry inputSpeed="1100.00" inputTorque="18000.00" torqueLoss="310.00"/> - <Entry inputSpeed="1100.00" inputTorque="19000.00" torqueLoss="325.00"/> - <Entry inputSpeed="1100.00" inputTorque="20000.00" torqueLoss="340.00"/> - <Entry inputSpeed="1100.00" inputTorque="21000.00" torqueLoss="355.00"/> - <Entry inputSpeed="1100.00" inputTorque="22000.00" torqueLoss="370.00"/> - <Entry inputSpeed="1100.00" inputTorque="23000.00" torqueLoss="385.00"/> - <Entry inputSpeed="1100.00" inputTorque="24000.00" torqueLoss="400.00"/> - <Entry inputSpeed="1100.00" inputTorque="25000.00" torqueLoss="415.00"/> - <Entry inputSpeed="1100.00" inputTorque="26000.00" torqueLoss="430.00"/> - <Entry inputSpeed="1100.00" inputTorque="27000.00" torqueLoss="445.00"/> - <Entry inputSpeed="1100.00" inputTorque="28000.00" torqueLoss="460.00"/> - <Entry inputSpeed="1100.00" inputTorque="29000.00" torqueLoss="475.00"/> - <Entry inputSpeed="1100.00" inputTorque="30000.00" torqueLoss="490.00"/> - <Entry inputSpeed="1100.00" inputTorque="31000.00" torqueLoss="505.00"/> - <Entry inputSpeed="1100.00" inputTorque="32000.00" torqueLoss="520.00"/> - <Entry inputSpeed="1100.00" inputTorque="33000.00" torqueLoss="535.00"/> - <Entry inputSpeed="1100.00" inputTorque="34000.00" torqueLoss="550.00"/> - <Entry inputSpeed="1100.00" inputTorque="35000.00" torqueLoss="565.00"/> - <Entry inputSpeed="1300.00" inputTorque="-5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="1300.00" inputTorque="-4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="1300.00" inputTorque="-3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="1300.00" inputTorque="-2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="1300.00" inputTorque="0.00" torqueLoss="40.00"/> - <Entry inputSpeed="1300.00" inputTorque="1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="1300.00" inputTorque="2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="1300.00" inputTorque="4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="1300.00" inputTorque="5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="1300.00" inputTorque="6000.00" torqueLoss="130.00"/> - <Entry inputSpeed="1300.00" inputTorque="7000.00" torqueLoss="145.00"/> - <Entry inputSpeed="1300.00" inputTorque="8000.00" torqueLoss="160.00"/> - <Entry inputSpeed="1300.00" inputTorque="9000.00" torqueLoss="175.00"/> - <Entry inputSpeed="1300.00" inputTorque="10000.00" torqueLoss="190.00"/> - <Entry inputSpeed="1300.00" inputTorque="11000.00" torqueLoss="205.00"/> - <Entry inputSpeed="1300.00" inputTorque="12000.00" torqueLoss="220.00"/> - <Entry inputSpeed="1300.00" inputTorque="13000.00" torqueLoss="235.00"/> - <Entry inputSpeed="1300.00" inputTorque="14000.00" torqueLoss="250.00"/> - <Entry inputSpeed="1300.00" inputTorque="15000.00" torqueLoss="265.00"/> - <Entry inputSpeed="1300.00" inputTorque="16000.00" torqueLoss="280.00"/> - <Entry inputSpeed="1300.00" inputTorque="17000.00" torqueLoss="295.00"/> - <Entry inputSpeed="1300.00" inputTorque="18000.00" torqueLoss="310.00"/> - <Entry inputSpeed="1300.00" inputTorque="19000.00" torqueLoss="325.00"/> - <Entry inputSpeed="1300.00" inputTorque="20000.00" torqueLoss="340.00"/> - <Entry inputSpeed="1300.00" inputTorque="21000.00" torqueLoss="355.00"/> - <Entry inputSpeed="1300.00" inputTorque="22000.00" torqueLoss="370.00"/> - <Entry inputSpeed="1300.00" inputTorque="23000.00" torqueLoss="385.00"/> - <Entry inputSpeed="1300.00" inputTorque="24000.00" torqueLoss="400.00"/> - <Entry inputSpeed="1300.00" inputTorque="25000.00" torqueLoss="415.00"/> - <Entry inputSpeed="1300.00" inputTorque="26000.00" torqueLoss="430.00"/> - <Entry inputSpeed="1300.00" inputTorque="27000.00" torqueLoss="445.00"/> - <Entry inputSpeed="1300.00" inputTorque="28000.00" torqueLoss="460.00"/> - <Entry inputSpeed="1300.00" inputTorque="29000.00" torqueLoss="475.00"/> - <Entry inputSpeed="1300.00" inputTorque="30000.00" torqueLoss="490.00"/> - <Entry inputSpeed="1300.00" inputTorque="31000.00" torqueLoss="505.00"/> - <Entry inputSpeed="1300.00" inputTorque="32000.00" torqueLoss="520.00"/> - <Entry inputSpeed="1300.00" inputTorque="33000.00" torqueLoss="535.00"/> - <Entry inputSpeed="1300.00" inputTorque="34000.00" torqueLoss="550.00"/> - <Entry inputSpeed="1300.00" inputTorque="35000.00" torqueLoss="565.00"/> - <Entry inputSpeed="1500.00" inputTorque="-5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="1500.00" inputTorque="-4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="1500.00" inputTorque="-3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="1500.00" inputTorque="-2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="1500.00" inputTorque="0.00" torqueLoss="40.00"/> - <Entry inputSpeed="1500.00" inputTorque="1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="1500.00" inputTorque="2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="1500.00" inputTorque="4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="1500.00" inputTorque="5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="1500.00" inputTorque="6000.00" torqueLoss="130.00"/> - <Entry inputSpeed="1500.00" inputTorque="7000.00" torqueLoss="145.00"/> - <Entry inputSpeed="1500.00" inputTorque="8000.00" torqueLoss="160.00"/> - <Entry inputSpeed="1500.00" inputTorque="9000.00" torqueLoss="175.00"/> - <Entry inputSpeed="1500.00" inputTorque="10000.00" torqueLoss="190.00"/> - <Entry inputSpeed="1500.00" inputTorque="11000.00" torqueLoss="205.00"/> - <Entry inputSpeed="1500.00" inputTorque="12000.00" torqueLoss="220.00"/> - <Entry inputSpeed="1500.00" inputTorque="13000.00" torqueLoss="235.00"/> - <Entry inputSpeed="1500.00" inputTorque="14000.00" torqueLoss="250.00"/> - <Entry inputSpeed="1500.00" inputTorque="15000.00" torqueLoss="265.00"/> - <Entry inputSpeed="1500.00" inputTorque="16000.00" torqueLoss="280.00"/> - <Entry inputSpeed="1500.00" inputTorque="17000.00" torqueLoss="295.00"/> - <Entry inputSpeed="1500.00" inputTorque="18000.00" torqueLoss="310.00"/> - <Entry inputSpeed="1500.00" inputTorque="19000.00" torqueLoss="325.00"/> - <Entry inputSpeed="1500.00" inputTorque="20000.00" torqueLoss="340.00"/> - <Entry inputSpeed="1500.00" inputTorque="21000.00" torqueLoss="355.00"/> - <Entry inputSpeed="1500.00" inputTorque="22000.00" torqueLoss="370.00"/> - <Entry inputSpeed="1500.00" inputTorque="23000.00" torqueLoss="385.00"/> - <Entry inputSpeed="1500.00" inputTorque="24000.00" torqueLoss="400.00"/> - <Entry inputSpeed="1500.00" inputTorque="25000.00" torqueLoss="415.00"/> - <Entry inputSpeed="1500.00" inputTorque="26000.00" torqueLoss="430.00"/> - <Entry inputSpeed="1500.00" inputTorque="27000.00" torqueLoss="445.00"/> - <Entry inputSpeed="1500.00" inputTorque="28000.00" torqueLoss="460.00"/> - <Entry inputSpeed="1500.00" inputTorque="29000.00" torqueLoss="475.00"/> - <Entry inputSpeed="1500.00" inputTorque="30000.00" torqueLoss="490.00"/> - <Entry inputSpeed="1500.00" inputTorque="31000.00" torqueLoss="505.00"/> - <Entry inputSpeed="1500.00" inputTorque="32000.00" torqueLoss="520.00"/> - <Entry inputSpeed="1500.00" inputTorque="33000.00" torqueLoss="535.00"/> - <Entry inputSpeed="1500.00" inputTorque="34000.00" torqueLoss="550.00"/> - <Entry inputSpeed="1500.00" inputTorque="35000.00" torqueLoss="565.00"/> - <Entry inputSpeed="1700.00" inputTorque="-5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="1700.00" inputTorque="-4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="1700.00" inputTorque="-3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="1700.00" inputTorque="-2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="1700.00" inputTorque="0.00" torqueLoss="40.00"/> - <Entry inputSpeed="1700.00" inputTorque="1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="1700.00" inputTorque="2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="1700.00" inputTorque="4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="1700.00" inputTorque="5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="1700.00" inputTorque="6000.00" torqueLoss="130.00"/> - <Entry inputSpeed="1700.00" inputTorque="7000.00" torqueLoss="145.00"/> - <Entry inputSpeed="1700.00" inputTorque="8000.00" torqueLoss="160.00"/> - <Entry inputSpeed="1700.00" inputTorque="9000.00" torqueLoss="175.00"/> - <Entry inputSpeed="1700.00" inputTorque="10000.00" torqueLoss="190.00"/> - <Entry inputSpeed="1700.00" inputTorque="11000.00" torqueLoss="205.00"/> - <Entry inputSpeed="1700.00" inputTorque="12000.00" torqueLoss="220.00"/> - <Entry inputSpeed="1700.00" inputTorque="13000.00" torqueLoss="235.00"/> - <Entry inputSpeed="1700.00" inputTorque="14000.00" torqueLoss="250.00"/> - <Entry inputSpeed="1700.00" inputTorque="15000.00" torqueLoss="265.00"/> - <Entry inputSpeed="1700.00" inputTorque="16000.00" torqueLoss="280.00"/> - <Entry inputSpeed="1700.00" inputTorque="17000.00" torqueLoss="295.00"/> - <Entry inputSpeed="1700.00" inputTorque="18000.00" torqueLoss="310.00"/> - <Entry inputSpeed="1700.00" inputTorque="19000.00" torqueLoss="325.00"/> - <Entry inputSpeed="1700.00" inputTorque="20000.00" torqueLoss="340.00"/> - <Entry inputSpeed="1700.00" inputTorque="21000.00" torqueLoss="355.00"/> - <Entry inputSpeed="1700.00" inputTorque="22000.00" torqueLoss="370.00"/> - <Entry inputSpeed="1700.00" inputTorque="23000.00" torqueLoss="385.00"/> - <Entry inputSpeed="1700.00" inputTorque="24000.00" torqueLoss="400.00"/> - <Entry inputSpeed="1700.00" inputTorque="25000.00" torqueLoss="415.00"/> - <Entry inputSpeed="1700.00" inputTorque="26000.00" torqueLoss="430.00"/> - <Entry inputSpeed="1700.00" inputTorque="27000.00" torqueLoss="445.00"/> - <Entry inputSpeed="1700.00" inputTorque="28000.00" torqueLoss="460.00"/> - <Entry inputSpeed="1700.00" inputTorque="29000.00" torqueLoss="475.00"/> - <Entry inputSpeed="1700.00" inputTorque="30000.00" torqueLoss="490.00"/> - <Entry inputSpeed="1700.00" inputTorque="31000.00" torqueLoss="505.00"/> - <Entry inputSpeed="1700.00" inputTorque="32000.00" torqueLoss="520.00"/> - <Entry inputSpeed="1700.00" inputTorque="33000.00" torqueLoss="535.00"/> - <Entry inputSpeed="1700.00" inputTorque="34000.00" torqueLoss="550.00"/> - <Entry inputSpeed="1700.00" inputTorque="35000.00" torqueLoss="565.00"/> - <Entry inputSpeed="1900.00" inputTorque="-5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="1900.00" inputTorque="-4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="1900.00" inputTorque="-3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="1900.00" inputTorque="-2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="1900.00" inputTorque="0.00" torqueLoss="40.00"/> - <Entry inputSpeed="1900.00" inputTorque="1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="1900.00" inputTorque="2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="1900.00" inputTorque="4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="1900.00" inputTorque="5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="1900.00" inputTorque="6000.00" torqueLoss="130.00"/> - <Entry inputSpeed="1900.00" inputTorque="7000.00" torqueLoss="145.00"/> - <Entry inputSpeed="1900.00" inputTorque="8000.00" torqueLoss="160.00"/> - <Entry inputSpeed="1900.00" inputTorque="9000.00" torqueLoss="175.00"/> - <Entry inputSpeed="1900.00" inputTorque="10000.00" torqueLoss="190.00"/> - <Entry inputSpeed="1900.00" inputTorque="11000.00" torqueLoss="205.00"/> - <Entry inputSpeed="1900.00" inputTorque="12000.00" torqueLoss="220.00"/> - <Entry inputSpeed="1900.00" inputTorque="13000.00" torqueLoss="235.00"/> - <Entry inputSpeed="1900.00" inputTorque="14000.00" torqueLoss="250.00"/> - <Entry inputSpeed="1900.00" inputTorque="15000.00" torqueLoss="265.00"/> - <Entry inputSpeed="1900.00" inputTorque="16000.00" torqueLoss="280.00"/> - <Entry inputSpeed="1900.00" inputTorque="17000.00" torqueLoss="295.00"/> - <Entry inputSpeed="1900.00" inputTorque="18000.00" torqueLoss="310.00"/> - <Entry inputSpeed="1900.00" inputTorque="19000.00" torqueLoss="325.00"/> - <Entry inputSpeed="1900.00" inputTorque="20000.00" torqueLoss="340.00"/> - <Entry inputSpeed="1900.00" inputTorque="21000.00" torqueLoss="355.00"/> - <Entry inputSpeed="1900.00" inputTorque="22000.00" torqueLoss="370.00"/> - <Entry inputSpeed="1900.00" inputTorque="23000.00" torqueLoss="385.00"/> - <Entry inputSpeed="1900.00" inputTorque="24000.00" torqueLoss="400.00"/> - <Entry inputSpeed="1900.00" inputTorque="25000.00" torqueLoss="415.00"/> - <Entry inputSpeed="1900.00" inputTorque="26000.00" torqueLoss="430.00"/> - <Entry inputSpeed="1900.00" inputTorque="27000.00" torqueLoss="445.00"/> - <Entry inputSpeed="1900.00" inputTorque="28000.00" torqueLoss="460.00"/> - <Entry inputSpeed="1900.00" inputTorque="29000.00" torqueLoss="475.00"/> - <Entry inputSpeed="1900.00" inputTorque="30000.00" torqueLoss="490.00"/> - <Entry inputSpeed="1900.00" inputTorque="31000.00" torqueLoss="505.00"/> - <Entry inputSpeed="1900.00" inputTorque="32000.00" torqueLoss="520.00"/> - <Entry inputSpeed="1900.00" inputTorque="33000.00" torqueLoss="535.00"/> - <Entry inputSpeed="1900.00" inputTorque="34000.00" torqueLoss="550.00"/> - <Entry inputSpeed="1900.00" inputTorque="35000.00" torqueLoss="565.00"/> - <Entry inputSpeed="2100.00" inputTorque="-5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="2100.00" inputTorque="-4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="2100.00" inputTorque="-3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="2100.00" inputTorque="-2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="2100.00" inputTorque="0.00" torqueLoss="40.00"/> - <Entry inputSpeed="2100.00" inputTorque="1000.00" torqueLoss="55.00"/> - <Entry inputSpeed="2100.00" inputTorque="2000.00" torqueLoss="70.00"/> - <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="85.00"/> - <Entry inputSpeed="2100.00" inputTorque="4000.00" torqueLoss="100.00"/> - <Entry inputSpeed="2100.00" inputTorque="5000.00" torqueLoss="115.00"/> - <Entry inputSpeed="2100.00" inputTorque="6000.00" torqueLoss="130.00"/> - <Entry inputSpeed="2100.00" inputTorque="7000.00" torqueLoss="145.00"/> - <Entry inputSpeed="2100.00" inputTorque="8000.00" torqueLoss="160.00"/> - <Entry inputSpeed="2100.00" inputTorque="9000.00" torqueLoss="175.00"/> - <Entry inputSpeed="2100.00" inputTorque="10000.00" torqueLoss="190.00"/> - <Entry inputSpeed="2100.00" inputTorque="11000.00" torqueLoss="205.00"/> - <Entry inputSpeed="2100.00" inputTorque="12000.00" torqueLoss="220.00"/> - <Entry inputSpeed="2100.00" inputTorque="13000.00" torqueLoss="235.00"/> - <Entry inputSpeed="2100.00" inputTorque="14000.00" torqueLoss="250.00"/> - <Entry inputSpeed="2100.00" inputTorque="15000.00" torqueLoss="265.00"/> - <Entry inputSpeed="2100.00" inputTorque="16000.00" torqueLoss="280.00"/> - <Entry inputSpeed="2100.00" inputTorque="17000.00" torqueLoss="295.00"/> - <Entry inputSpeed="2100.00" inputTorque="18000.00" torqueLoss="310.00"/> - <Entry inputSpeed="2100.00" inputTorque="19000.00" torqueLoss="325.00"/> - <Entry inputSpeed="2100.00" inputTorque="20000.00" torqueLoss="340.00"/> - <Entry inputSpeed="2100.00" inputTorque="21000.00" torqueLoss="355.00"/> - <Entry inputSpeed="2100.00" inputTorque="22000.00" torqueLoss="370.00"/> - <Entry inputSpeed="2100.00" inputTorque="23000.00" torqueLoss="385.00"/> - <Entry inputSpeed="2100.00" inputTorque="24000.00" torqueLoss="400.00"/> - <Entry inputSpeed="2100.00" inputTorque="25000.00" torqueLoss="415.00"/> - <Entry inputSpeed="2100.00" inputTorque="26000.00" torqueLoss="430.00"/> - <Entry inputSpeed="2100.00" inputTorque="27000.00" torqueLoss="445.00"/> - <Entry inputSpeed="2100.00" inputTorque="28000.00" torqueLoss="460.00"/> - <Entry inputSpeed="2100.00" inputTorque="29000.00" torqueLoss="475.00"/> - <Entry inputSpeed="2100.00" inputTorque="30000.00" torqueLoss="490.00"/> - <Entry inputSpeed="2100.00" inputTorque="31000.00" torqueLoss="505.00"/> - <Entry inputSpeed="2100.00" inputTorque="32000.00" torqueLoss="520.00"/> - <Entry inputSpeed="2100.00" inputTorque="33000.00" torqueLoss="535.00"/> - <Entry inputSpeed="2100.00" inputTorque="34000.00" torqueLoss="550.00"/> - <Entry inputSpeed="2100.00" inputTorque="35000.00" torqueLoss="565.00"/> - </TorqueLossMap> - </Data> - <Signature> - <ComponentDataHash>5074334bb2c090c5e258e9a664f5d19689a3f13d</ComponentDataHash> - </Signature> - </Axlegear> - <AxleWheels> - <Data id="WHL-mi3ooviM"> - <Axles> - <Axle axleNumber="1"> - <Manufacturer>Generic Wheels Manufacturer</Manufacturer> - <Model>Generic Wheel</Model> - <Creator>Markus Quaritsch, TUG ITI</Creator> - <Date>2017-01-11T14:00:00Z</Date> - <AxleType>VehicleNonDriven</AxleType> - <TwinTyres>false</TwinTyres> - <Steered>true</Steered> - <Dimension>315/70 R22.5</Dimension> - <RRCISO>0.0055</RRCISO> - <FzISO>31300</FzISO> - <WeightShare>0.4</WeightShare> - <Inertia>0</Inertia> - </Axle> - <Axle axleNumber="2"> - <Manufacturer>Generic Wheels Manufacturer</Manufacturer> - <Model>Generic Wheel</Model> - <Creator>Markus Quaritsch, TUG ITI</Creator> - <Date>2017-01-11T14:00:00Z</Date> - <AxleType>VehicleDriven</AxleType> - <TwinTyres>true</TwinTyres> - <Steered>true</Steered> - <Dimension>315/70 R22.5</Dimension> - <RRCISO>0.0063</RRCISO> - <FzISO>31300</FzISO> - <WeightShare>0.6</WeightShare> - <Inertia>0</Inertia> - <DynamicTyreRadius>488.822</DynamicTyreRadius> - </Axle> - </Axles> - </Data> - </AxleWheels> - <Auxiliaries> - <Data> - <Auxiliary id="ES"> - <TransmissionRatioToEngine>4.078</TransmissionRatioToEngine> - <EfficiencyToEngine>0.96</EfficiencyToEngine> - <EfficiencyAuxSupply>1</EfficiencyAuxSupply> - <AuxMap> - <Entry auxiliarySpeed="1415" mechanicalPower="70" supplyPower="0.0"/> - <Entry auxiliarySpeed="1415" mechanicalPower="870" supplyPower="530"/> - <Entry auxiliarySpeed="1415" mechanicalPower="1030" supplyPower="640"/> - <Entry auxiliarySpeed="1415" mechanicalPower="1.17" supplyPower="0.75"/> - <Entry auxiliarySpeed="1416" mechanicalPower="1.36" supplyPower="0.84"/> - <Entry auxiliarySpeed="1416" mechanicalPower="2.4" supplyPower="1.4"/> - <Entry auxiliarySpeed="1887" mechanicalPower="0.07" supplyPower="0"/> - <Entry auxiliarySpeed="1887" mechanicalPower="0.68" supplyPower="0.41"/> - <Entry auxiliarySpeed="1887" mechanicalPower="0.87" supplyPower="0.54"/> - <Entry auxiliarySpeed="1887" mechanicalPower="0.99" supplyPower="0.64"/> - <Entry auxiliarySpeed="1887" mechanicalPower="1.1" supplyPower="0.74"/> - <Entry auxiliarySpeed="1887" mechanicalPower="2.11" supplyPower="1.47"/> - <Entry auxiliarySpeed="1887" mechanicalPower="2.55" supplyPower="1.74"/> - <Entry auxiliarySpeed="2358" mechanicalPower="0.07" supplyPower="0"/> - <Entry auxiliarySpeed="2358" mechanicalPower="0.65" supplyPower="0.38"/> - <Entry auxiliarySpeed="2358" mechanicalPower="0.79" supplyPower="0.49"/> - <Entry auxiliarySpeed="2358" mechanicalPower="0.99" supplyPower="0.64"/> - <Entry auxiliarySpeed="2358" mechanicalPower="1.12" supplyPower="0.75"/> - <Entry auxiliarySpeed="2358" mechanicalPower="1.59" supplyPower="1.12"/> - <Entry auxiliarySpeed="2358" mechanicalPower="1.99" supplyPower="1.42"/> - <Entry auxiliarySpeed="2358" mechanicalPower="2.41" supplyPower="1.68"/> - <Entry auxiliarySpeed="2358" mechanicalPower="2.86" supplyPower="1.95"/> - <Entry auxiliarySpeed="2358" mechanicalPower="3.19" supplyPower="2.12"/> - <Entry auxiliarySpeed="2358" mechanicalPower="3.51" supplyPower="2.3"/> - <Entry auxiliarySpeed="2830" mechanicalPower="0.08" supplyPower="0"/> - <Entry auxiliarySpeed="2830" mechanicalPower="0.7" supplyPower="0.41"/> - <Entry auxiliarySpeed="2830" mechanicalPower="0.83" supplyPower="0.51"/> - <Entry auxiliarySpeed="2830" mechanicalPower="1.02" supplyPower="0.66"/> - <Entry auxiliarySpeed="2830" mechanicalPower="1.12" supplyPower="0.75"/> - <Entry auxiliarySpeed="2830" mechanicalPower="1.6" supplyPower="1.13"/> - <Entry auxiliarySpeed="2830" mechanicalPower="2.45" supplyPower="1.71"/> - <Entry auxiliarySpeed="2830" mechanicalPower="2.96" supplyPower="2.02"/> - <Entry auxiliarySpeed="2830" mechanicalPower="3.38" supplyPower="2.24"/> - <Entry auxiliarySpeed="2830" mechanicalPower="3.8" supplyPower="2.46"/> - <Entry auxiliarySpeed="2830" mechanicalPower="4.14" supplyPower="2.63"/> - <Entry auxiliarySpeed="3302" mechanicalPower="0.08" supplyPower="0"/> - <Entry auxiliarySpeed="3302" mechanicalPower="0.74" supplyPower="0.44"/> - <Entry auxiliarySpeed="3302" mechanicalPower="0.88" supplyPower="0.54"/> - <Entry auxiliarySpeed="3302" mechanicalPower="1.07" supplyPower="0.69"/> - <Entry auxiliarySpeed="3302" mechanicalPower="1.19" supplyPower="0.79"/> - <Entry auxiliarySpeed="3302" mechanicalPower="2.45" supplyPower="1.71"/> - <Entry auxiliarySpeed="3302" mechanicalPower="2.98" supplyPower="2.03"/> - <Entry auxiliarySpeed="3302" mechanicalPower="3.44" supplyPower="2.28"/> - <Entry auxiliarySpeed="3302" mechanicalPower="3.88" supplyPower="2.51"/> - <Entry auxiliarySpeed="3302" mechanicalPower="4.46" supplyPower="2.8"/> - <Entry auxiliarySpeed="3773" mechanicalPower="0.09" supplyPower="0"/> - <Entry auxiliarySpeed="3773" mechanicalPower="0.8" supplyPower="0.47"/> - <Entry auxiliarySpeed="3773" mechanicalPower="0.93" supplyPower="0.57"/> - <Entry auxiliarySpeed="3773" mechanicalPower="1.15" supplyPower="0.74"/> - <Entry auxiliarySpeed="3773" mechanicalPower="1.27" supplyPower="0.85"/> - <Entry auxiliarySpeed="3773" mechanicalPower="2.44" supplyPower="1.69"/> - <Entry auxiliarySpeed="3773" mechanicalPower="2.98" supplyPower="2.02"/> - <Entry auxiliarySpeed="3773" mechanicalPower="3.46" supplyPower="2.29"/> - <Entry auxiliarySpeed="3773" mechanicalPower="3.96" supplyPower="2.55"/> - <Entry auxiliarySpeed="3773" mechanicalPower="4.47" supplyPower="2.8"/> - <Entry auxiliarySpeed="3773" mechanicalPower="4.69" supplyPower="2.91"/> - <Entry auxiliarySpeed="4245" mechanicalPower="0.11" supplyPower="0"/> - <Entry auxiliarySpeed="4245" mechanicalPower="0.88" supplyPower="0.51"/> - <Entry auxiliarySpeed="4245" mechanicalPower="1.02" supplyPower="0.62"/> - <Entry auxiliarySpeed="4245" mechanicalPower="1.22" supplyPower="0.78"/> - <Entry auxiliarySpeed="4245" mechanicalPower="1.47" supplyPower="0.98"/> - <Entry auxiliarySpeed="4245" mechanicalPower="2.36" supplyPower="1.62"/> - <Entry auxiliarySpeed="4245" mechanicalPower="2.98" supplyPower="2.01"/> - <Entry auxiliarySpeed="4245" mechanicalPower="3.46" supplyPower="2.28"/> - <Entry auxiliarySpeed="4245" mechanicalPower="4" supplyPower="2.57"/> - <Entry auxiliarySpeed="4245" mechanicalPower="4.47" supplyPower="2.79"/> - <Entry auxiliarySpeed="4245" mechanicalPower="4.94" supplyPower="3"/> - <Entry auxiliarySpeed="4716" mechanicalPower="0.12" supplyPower="0"/> - <Entry auxiliarySpeed="4716" mechanicalPower="0.97" supplyPower="0.56"/> - <Entry auxiliarySpeed="4716" mechanicalPower="1.11" supplyPower="0.67"/> - <Entry auxiliarySpeed="4716" mechanicalPower="1.32" supplyPower="0.84"/> - <Entry auxiliarySpeed="4716" mechanicalPower="1.91" supplyPower="1.29"/> - <Entry auxiliarySpeed="4716" mechanicalPower="2.96" supplyPower="1.99"/> - <Entry auxiliarySpeed="4716" mechanicalPower="3.46" supplyPower="2.27"/> - <Entry auxiliarySpeed="4716" mechanicalPower="4" supplyPower="2.56"/> - <Entry auxiliarySpeed="4716" mechanicalPower="4.52" supplyPower="2.81"/> - <Entry auxiliarySpeed="4716" mechanicalPower="4.97" supplyPower="3"/> - <Entry auxiliarySpeed="4716" mechanicalPower="5.12" supplyPower="3.08"/> - <Entry auxiliarySpeed="5188" mechanicalPower="0.14" supplyPower="0"/> - <Entry auxiliarySpeed="5188" mechanicalPower="1.08" supplyPower="0.62"/> - <Entry auxiliarySpeed="5188" mechanicalPower="1.21" supplyPower="0.73"/> - <Entry auxiliarySpeed="5188" mechanicalPower="1.47" supplyPower="0.93"/> - <Entry auxiliarySpeed="5188" mechanicalPower="2.89" supplyPower="1.92"/> - <Entry auxiliarySpeed="5188" mechanicalPower="3.45" supplyPower="2.25"/> - <Entry auxiliarySpeed="5188" mechanicalPower="3.99" supplyPower="2.54"/> - <Entry auxiliarySpeed="5188" mechanicalPower="4.54" supplyPower="2.82"/> - <Entry auxiliarySpeed="5188" mechanicalPower="4.98" supplyPower="3"/> - <Entry auxiliarySpeed="5188" mechanicalPower="5.19" supplyPower="3.11"/> - <Entry auxiliarySpeed="5660" mechanicalPower="0.17" supplyPower="0"/> - <Entry auxiliarySpeed="5660" mechanicalPower="1.19" supplyPower="0.67"/> - <Entry auxiliarySpeed="5660" mechanicalPower="1.32" supplyPower="0.79"/> - <Entry auxiliarySpeed="5660" mechanicalPower="1.69" supplyPower="1.07"/> - <Entry auxiliarySpeed="5660" mechanicalPower="2.54" supplyPower="1.66"/> - <Entry auxiliarySpeed="5660" mechanicalPower="3.37" supplyPower="2.18"/> - <Entry auxiliarySpeed="5660" mechanicalPower="3.98" supplyPower="2.52"/> - <Entry auxiliarySpeed="5660" mechanicalPower="4.55" supplyPower="2.8"/> - <Entry auxiliarySpeed="5660" mechanicalPower="5.02" supplyPower="3.01"/> - <Entry auxiliarySpeed="5660" mechanicalPower="5.27" supplyPower="3.14"/> - <Entry auxiliarySpeed="6131" mechanicalPower="0.19" supplyPower="0"/> - <Entry auxiliarySpeed="6131" mechanicalPower="1.28" supplyPower="0.72"/> - <Entry auxiliarySpeed="6131" mechanicalPower="1.49" supplyPower="0.88"/> - <Entry auxiliarySpeed="6131" mechanicalPower="2.15" supplyPower="1.37"/> - <Entry auxiliarySpeed="6131" mechanicalPower="3.19" supplyPower="2.04"/> - <Entry auxiliarySpeed="6131" mechanicalPower="3.92" supplyPower="2.46"/> - <Entry auxiliarySpeed="6131" mechanicalPower="4.48" supplyPower="2.75"/> - <Entry auxiliarySpeed="6131" mechanicalPower="5.44" supplyPower="3.16"/> - <Entry auxiliarySpeed="6603" mechanicalPower="0.22" supplyPower="0"/> - <Entry auxiliarySpeed="6603" mechanicalPower="1.42" supplyPower="0.79"/> - <Entry auxiliarySpeed="6603" mechanicalPower="1.81" supplyPower="1.08"/> - <Entry auxiliarySpeed="6603" mechanicalPower="2.92" supplyPower="1.84"/> - <Entry auxiliarySpeed="6603" mechanicalPower="3.75" supplyPower="2.33"/> - <Entry auxiliarySpeed="6603" mechanicalPower="4.38" supplyPower="2.66"/> - <Entry auxiliarySpeed="6603" mechanicalPower="4.94" supplyPower="2.92"/> - <Entry auxiliarySpeed="6603" mechanicalPower="5.51" supplyPower="3.19"/> - <Entry auxiliarySpeed="7075" mechanicalPower="0.25" supplyPower="0"/> - <Entry auxiliarySpeed="7075" mechanicalPower="1.63" supplyPower="0.91"/> - <Entry auxiliarySpeed="7075" mechanicalPower="2.35" supplyPower="1.43"/> - <Entry auxiliarySpeed="7075" mechanicalPower="3.43" supplyPower="2.1"/> - <Entry auxiliarySpeed="7075" mechanicalPower="4.24" supplyPower="2.55"/> - <Entry auxiliarySpeed="7075" mechanicalPower="4.82" supplyPower="2.83"/> - <Entry auxiliarySpeed="7075" mechanicalPower="5.54" supplyPower="3.19"/> - <Entry auxiliarySpeed="7546" mechanicalPower="0.28" supplyPower="0"/> - <Entry auxiliarySpeed="7546" mechanicalPower="1.93" supplyPower="1.09"/> - <Entry auxiliarySpeed="7546" mechanicalPower="3.04" supplyPower="1.82"/> - <Entry auxiliarySpeed="7546" mechanicalPower="4.09" supplyPower="2.43"/> - <Entry auxiliarySpeed="7546" mechanicalPower="4.69" supplyPower="2.73"/> - <Entry auxiliarySpeed="7546" mechanicalPower="5.7" supplyPower="3.19"/> - <Entry auxiliarySpeed="9150" mechanicalPower="0.42" supplyPower="0"/> - <Entry auxiliarySpeed="9150" mechanicalPower="5.74" supplyPower="3.19"/> - <Entry auxiliarySpeed="12000" mechanicalPower="0.42" supplyPower="0"/> - <Entry auxiliarySpeed="12000" mechanicalPower="5.74" supplyPower="3.19"/> - </AuxMap> - </Auxiliary> - <Auxiliary id="FAN"> - <TransmissionRatioToEngine>4.078</TransmissionRatioToEngine> - <EfficiencyToEngine>0.96</EfficiencyToEngine> - <EfficiencyAuxSupply>1</EfficiencyAuxSupply> - <AuxMap> - <Entry auxiliarySpeed="1415" mechanicalPower="70" supplyPower="0.0"/> - <Entry auxiliarySpeed="1415" mechanicalPower="870" supplyPower="530"/> - <Entry auxiliarySpeed="1415" mechanicalPower="1030" supplyPower="640"/> - <Entry auxiliarySpeed="1415" mechanicalPower="1.17" supplyPower="0.75"/> - <Entry auxiliarySpeed="1416" mechanicalPower="1.36" supplyPower="0.84"/> - <Entry auxiliarySpeed="1416" mechanicalPower="2.4" supplyPower="1.4"/> - <Entry auxiliarySpeed="1887" mechanicalPower="0.07" supplyPower="0"/> - <Entry auxiliarySpeed="1887" mechanicalPower="0.68" supplyPower="0.41"/> - <Entry auxiliarySpeed="1887" mechanicalPower="0.87" supplyPower="0.54"/> - <Entry auxiliarySpeed="1887" mechanicalPower="0.99" supplyPower="0.64"/> - <Entry auxiliarySpeed="1887" mechanicalPower="1.1" supplyPower="0.74"/> - <Entry auxiliarySpeed="1887" mechanicalPower="2.11" supplyPower="1.47"/> - <Entry auxiliarySpeed="1887" mechanicalPower="2.55" supplyPower="1.74"/> - <Entry auxiliarySpeed="2358" mechanicalPower="0.07" supplyPower="0"/> - <Entry auxiliarySpeed="2358" mechanicalPower="0.65" supplyPower="0.38"/> - <Entry auxiliarySpeed="2358" mechanicalPower="0.79" supplyPower="0.49"/> - <Entry auxiliarySpeed="2358" mechanicalPower="0.99" supplyPower="0.64"/> - <Entry auxiliarySpeed="2358" mechanicalPower="1.12" supplyPower="0.75"/> - <Entry auxiliarySpeed="2358" mechanicalPower="1.59" supplyPower="1.12"/> - <Entry auxiliarySpeed="2358" mechanicalPower="1.99" supplyPower="1.42"/> - <Entry auxiliarySpeed="2358" mechanicalPower="2.41" supplyPower="1.68"/> - <Entry auxiliarySpeed="2358" mechanicalPower="2.86" supplyPower="1.95"/> - <Entry auxiliarySpeed="2358" mechanicalPower="3.19" supplyPower="2.12"/> - <Entry auxiliarySpeed="2358" mechanicalPower="3.51" supplyPower="2.3"/> - <Entry auxiliarySpeed="2830" mechanicalPower="0.08" supplyPower="0"/> - <Entry auxiliarySpeed="2830" mechanicalPower="0.7" supplyPower="0.41"/> - <Entry auxiliarySpeed="2830" mechanicalPower="0.83" supplyPower="0.51"/> - <Entry auxiliarySpeed="2830" mechanicalPower="1.02" supplyPower="0.66"/> - <Entry auxiliarySpeed="2830" mechanicalPower="1.12" supplyPower="0.75"/> - <Entry auxiliarySpeed="2830" mechanicalPower="1.6" supplyPower="1.13"/> - <Entry auxiliarySpeed="2830" mechanicalPower="2.45" supplyPower="1.71"/> - <Entry auxiliarySpeed="2830" mechanicalPower="2.96" supplyPower="2.02"/> - <Entry auxiliarySpeed="2830" mechanicalPower="3.38" supplyPower="2.24"/> - <Entry auxiliarySpeed="2830" mechanicalPower="3.8" supplyPower="2.46"/> - <Entry auxiliarySpeed="2830" mechanicalPower="4.14" supplyPower="2.63"/> - <Entry auxiliarySpeed="3302" mechanicalPower="0.08" supplyPower="0"/> - <Entry auxiliarySpeed="3302" mechanicalPower="0.74" supplyPower="0.44"/> - <Entry auxiliarySpeed="3302" mechanicalPower="0.88" supplyPower="0.54"/> - <Entry auxiliarySpeed="3302" mechanicalPower="1.07" supplyPower="0.69"/> - <Entry auxiliarySpeed="3302" mechanicalPower="1.19" supplyPower="0.79"/> - <Entry auxiliarySpeed="3302" mechanicalPower="2.45" supplyPower="1.71"/> - <Entry auxiliarySpeed="3302" mechanicalPower="2.98" supplyPower="2.03"/> - <Entry auxiliarySpeed="3302" mechanicalPower="3.44" supplyPower="2.28"/> - <Entry auxiliarySpeed="3302" mechanicalPower="3.88" supplyPower="2.51"/> - <Entry auxiliarySpeed="3302" mechanicalPower="4.46" supplyPower="2.8"/> - <Entry auxiliarySpeed="3773" mechanicalPower="0.09" supplyPower="0"/> - <Entry auxiliarySpeed="3773" mechanicalPower="0.8" supplyPower="0.47"/> - <Entry auxiliarySpeed="3773" mechanicalPower="0.93" supplyPower="0.57"/> - <Entry auxiliarySpeed="3773" mechanicalPower="1.15" supplyPower="0.74"/> - <Entry auxiliarySpeed="3773" mechanicalPower="1.27" supplyPower="0.85"/> - <Entry auxiliarySpeed="3773" mechanicalPower="2.44" supplyPower="1.69"/> - <Entry auxiliarySpeed="3773" mechanicalPower="2.98" supplyPower="2.02"/> - <Entry auxiliarySpeed="3773" mechanicalPower="3.46" supplyPower="2.29"/> - <Entry auxiliarySpeed="3773" mechanicalPower="3.96" supplyPower="2.55"/> - <Entry auxiliarySpeed="3773" mechanicalPower="4.47" supplyPower="2.8"/> - <Entry auxiliarySpeed="3773" mechanicalPower="4.69" supplyPower="2.91"/> - <Entry auxiliarySpeed="4245" mechanicalPower="0.11" supplyPower="0"/> - <Entry auxiliarySpeed="4245" mechanicalPower="0.88" supplyPower="0.51"/> - <Entry auxiliarySpeed="4245" mechanicalPower="1.02" supplyPower="0.62"/> - <Entry auxiliarySpeed="4245" mechanicalPower="1.22" supplyPower="0.78"/> - <Entry auxiliarySpeed="4245" mechanicalPower="1.47" supplyPower="0.98"/> - <Entry auxiliarySpeed="4245" mechanicalPower="2.36" supplyPower="1.62"/> - <Entry auxiliarySpeed="4245" mechanicalPower="2.98" supplyPower="2.01"/> - <Entry auxiliarySpeed="4245" mechanicalPower="3.46" supplyPower="2.28"/> - <Entry auxiliarySpeed="4245" mechanicalPower="4" supplyPower="2.57"/> - <Entry auxiliarySpeed="4245" mechanicalPower="4.47" supplyPower="2.79"/> - <Entry auxiliarySpeed="4245" mechanicalPower="4.94" supplyPower="3"/> - <Entry auxiliarySpeed="4716" mechanicalPower="0.12" supplyPower="0"/> - <Entry auxiliarySpeed="4716" mechanicalPower="0.97" supplyPower="0.56"/> - <Entry auxiliarySpeed="4716" mechanicalPower="1.11" supplyPower="0.67"/> - <Entry auxiliarySpeed="4716" mechanicalPower="1.32" supplyPower="0.84"/> - <Entry auxiliarySpeed="4716" mechanicalPower="1.91" supplyPower="1.29"/> - <Entry auxiliarySpeed="4716" mechanicalPower="2.96" supplyPower="1.99"/> - <Entry auxiliarySpeed="4716" mechanicalPower="3.46" supplyPower="2.27"/> - <Entry auxiliarySpeed="4716" mechanicalPower="4" supplyPower="2.56"/> - <Entry auxiliarySpeed="4716" mechanicalPower="4.52" supplyPower="2.81"/> - <Entry auxiliarySpeed="4716" mechanicalPower="4.97" supplyPower="3"/> - <Entry auxiliarySpeed="4716" mechanicalPower="5.12" supplyPower="3.08"/> - <Entry auxiliarySpeed="5188" mechanicalPower="0.14" supplyPower="0"/> - <Entry auxiliarySpeed="5188" mechanicalPower="1.08" supplyPower="0.62"/> - <Entry auxiliarySpeed="5188" mechanicalPower="1.21" supplyPower="0.73"/> - <Entry auxiliarySpeed="5188" mechanicalPower="1.47" supplyPower="0.93"/> - <Entry auxiliarySpeed="5188" mechanicalPower="2.89" supplyPower="1.92"/> - <Entry auxiliarySpeed="5188" mechanicalPower="3.45" supplyPower="2.25"/> - <Entry auxiliarySpeed="5188" mechanicalPower="3.99" supplyPower="2.54"/> - <Entry auxiliarySpeed="5188" mechanicalPower="4.54" supplyPower="2.82"/> - <Entry auxiliarySpeed="5188" mechanicalPower="4.98" supplyPower="3"/> - <Entry auxiliarySpeed="5188" mechanicalPower="5.19" supplyPower="3.11"/> - <Entry auxiliarySpeed="5660" mechanicalPower="0.17" supplyPower="0"/> - <Entry auxiliarySpeed="5660" mechanicalPower="1.19" supplyPower="0.67"/> - <Entry auxiliarySpeed="5660" mechanicalPower="1.32" supplyPower="0.79"/> - <Entry auxiliarySpeed="5660" mechanicalPower="1.69" supplyPower="1.07"/> - <Entry auxiliarySpeed="5660" mechanicalPower="2.54" supplyPower="1.66"/> - <Entry auxiliarySpeed="5660" mechanicalPower="3.37" supplyPower="2.18"/> - <Entry auxiliarySpeed="5660" mechanicalPower="3.98" supplyPower="2.52"/> - <Entry auxiliarySpeed="5660" mechanicalPower="4.55" supplyPower="2.8"/> - <Entry auxiliarySpeed="5660" mechanicalPower="5.02" supplyPower="3.01"/> - <Entry auxiliarySpeed="5660" mechanicalPower="5.27" supplyPower="3.14"/> - <Entry auxiliarySpeed="6131" mechanicalPower="0.19" supplyPower="0"/> - <Entry auxiliarySpeed="6131" mechanicalPower="1.28" supplyPower="0.72"/> - <Entry auxiliarySpeed="6131" mechanicalPower="1.49" supplyPower="0.88"/> - <Entry auxiliarySpeed="6131" mechanicalPower="2.15" supplyPower="1.37"/> - <Entry auxiliarySpeed="6131" mechanicalPower="3.19" supplyPower="2.04"/> - <Entry auxiliarySpeed="6131" mechanicalPower="3.92" supplyPower="2.46"/> - <Entry auxiliarySpeed="6131" mechanicalPower="4.48" supplyPower="2.75"/> - <Entry auxiliarySpeed="6131" mechanicalPower="5.44" supplyPower="3.16"/> - <Entry auxiliarySpeed="6603" mechanicalPower="0.22" supplyPower="0"/> - <Entry auxiliarySpeed="6603" mechanicalPower="1.42" supplyPower="0.79"/> - <Entry auxiliarySpeed="6603" mechanicalPower="1.81" supplyPower="1.08"/> - <Entry auxiliarySpeed="6603" mechanicalPower="2.92" supplyPower="1.84"/> - <Entry auxiliarySpeed="6603" mechanicalPower="3.75" supplyPower="2.33"/> - <Entry auxiliarySpeed="6603" mechanicalPower="4.38" supplyPower="2.66"/> - <Entry auxiliarySpeed="6603" mechanicalPower="4.94" supplyPower="2.92"/> - <Entry auxiliarySpeed="6603" mechanicalPower="5.51" supplyPower="3.19"/> - <Entry auxiliarySpeed="7075" mechanicalPower="0.25" supplyPower="0"/> - <Entry auxiliarySpeed="7075" mechanicalPower="1.63" supplyPower="0.91"/> - <Entry auxiliarySpeed="7075" mechanicalPower="2.35" supplyPower="1.43"/> - <Entry auxiliarySpeed="7075" mechanicalPower="3.43" supplyPower="2.1"/> - <Entry auxiliarySpeed="7075" mechanicalPower="4.24" supplyPower="2.55"/> - <Entry auxiliarySpeed="7075" mechanicalPower="4.82" supplyPower="2.83"/> - <Entry auxiliarySpeed="7075" mechanicalPower="5.54" supplyPower="3.19"/> - <Entry auxiliarySpeed="7546" mechanicalPower="0.28" supplyPower="0"/> - <Entry auxiliarySpeed="7546" mechanicalPower="1.93" supplyPower="1.09"/> - <Entry auxiliarySpeed="7546" mechanicalPower="3.04" supplyPower="1.82"/> - <Entry auxiliarySpeed="7546" mechanicalPower="4.09" supplyPower="2.43"/> - <Entry auxiliarySpeed="7546" mechanicalPower="4.69" supplyPower="2.73"/> - <Entry auxiliarySpeed="7546" mechanicalPower="5.7" supplyPower="3.19"/> - <Entry auxiliarySpeed="9150" mechanicalPower="0.42" supplyPower="0"/> - <Entry auxiliarySpeed="9150" mechanicalPower="5.74" supplyPower="3.19"/> - <Entry auxiliarySpeed="12000" mechanicalPower="0.42" supplyPower="0"/> - <Entry auxiliarySpeed="12000" mechanicalPower="5.74" supplyPower="3.19"/> - </AuxMap> - </Auxiliary> - </Data> - </Auxiliaries> - <AirDrag> - <Data> - <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> - <Model>Generic 40t Long Haul Truck Gearbox</Model> - <Creator>Markus Quaritsch, TUG IVT</Creator> - <Date>2017-01-11T11:00:00Z</Date> - <AppVersion>3.0.1</AppVersion> - <CrossWindCorrectionMode>No Correction</CrossWindCorrectionMode> - <CdxA>6.29</CdxA> - </Data> - </AirDrag> - </Components> - <AdvancedDriverAssist> - <EngineStartStop> - <Enabled>false</Enabled> - <MaxSpeed>5</MaxSpeed> - <MinOnTime>5</MinOnTime> - <ActivationDelay>5</ActivationDelay> - </EngineStartStop> - </AdvancedDriverAssist> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <Model>Generic LongHaul Truck</Model> + <Creator>MQ</Creator> + <Date>2017-02-15T11:00:00Z</Date> + <VehicleCategory>Tractor</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <RetarderType>Transmission Output Retarder</RetarderType> + <RetarderRatio>1.000</RetarderRatio> + <AngledriveType>None</AngledriveType> + <PTOType>None</PTOType> + <CurbMassExtra>500</CurbMassExtra> + <Loading>1500</Loading> + <AdvancedDriverAssist> + <EngineStartStop> + <Enabled>false</Enabled> + <MaxSpeed>5</MaxSpeed> + <MinOnTime>5</MinOnTime> + <ActivationDelay>5</ActivationDelay> + </EngineStartStop> + </AdvancedDriverAssist> + <Components> + <Engine> + <Data id="ENG-gooZah3D"> + <Manufacturer>Generic Engine Manufacturer</Manufacturer> + <Model>Generic 40t Long Haul Truck Engine</Model> + <Creator>Markus Quaritsch, TUG IVT</Creator> + <Date>2017-02-15T11:00:00Z</Date> + <Displacement>12730</Displacement> + <IdlingSpeed>560</IdlingSpeed> + <Inertia>0.77</Inertia> + <WHTCEngineering>1</WHTCEngineering> + <FuelConsumptionMap> + <Entry engineSpeed="560.00" torque="-149.00" fuelConsumption="0.00"/> + <Entry engineSpeed="560.00" torque="0.00" fuelConsumption="1256.00"/> + <Entry engineSpeed="560.00" torque="200.00" fuelConsumption="3197.00"/> + <Entry engineSpeed="560.00" torque="400.00" fuelConsumption="5295.00"/> + <Entry engineSpeed="560.00" torque="600.00" fuelConsumption="7615.00"/> + <Entry engineSpeed="560.00" torque="800.00" fuelConsumption="9375.00"/> + <Entry engineSpeed="560.00" torque="1000.00" fuelConsumption="11239.00"/> + <Entry engineSpeed="560.00" torque="1180.00" fuelConsumption="12869.00"/> + <Entry engineSpeed="600.00" torque="-148.00" fuelConsumption="0.00"/> + <Entry engineSpeed="600.00" torque="0.00" fuelConsumption="1459.00"/> + <Entry engineSpeed="600.00" torque="200.00" fuelConsumption="3358.00"/> + <Entry engineSpeed="600.00" torque="400.00" fuelConsumption="5498.00"/> + <Entry engineSpeed="600.00" torque="600.00" fuelConsumption="8101.00"/> + <Entry engineSpeed="600.00" torque="800.00" fuelConsumption="10014.00"/> + <Entry engineSpeed="600.00" torque="1000.00" fuelConsumption="12071.00"/> + <Entry engineSpeed="600.00" torque="1200.00" fuelConsumption="14201.00"/> + <Entry engineSpeed="600.00" torque="1282.00" fuelConsumption="15304.00"/> + <Entry engineSpeed="800.00" torque="-149.00" fuelConsumption="0.00"/> + <Entry engineSpeed="800.00" torque="0.00" fuelConsumption="1879.00"/> + <Entry engineSpeed="800.00" torque="200.00" fuelConsumption="4286.00"/> + <Entry engineSpeed="800.00" torque="400.00" fuelConsumption="7021.00"/> + <Entry engineSpeed="800.00" torque="600.00" fuelConsumption="10059.00"/> + <Entry engineSpeed="800.00" torque="800.00" fuelConsumption="13086.00"/> + <Entry engineSpeed="800.00" torque="1000.00" fuelConsumption="16015.00"/> + <Entry engineSpeed="800.00" torque="1200.00" fuelConsumption="19239.00"/> + <Entry engineSpeed="800.00" torque="1400.00" fuelConsumption="22426.00"/> + <Entry engineSpeed="800.00" torque="1600.00" fuelConsumption="25483.00"/> + <Entry engineSpeed="800.00" torque="1791.00" fuelConsumption="28905.00"/> + <Entry engineSpeed="1000.00" torque="-160.00" fuelConsumption="0.00"/> + <Entry engineSpeed="1000.00" torque="0.00" fuelConsumption="2865.00"/> + <Entry engineSpeed="1000.00" torque="200.00" fuelConsumption="5963.00"/> + <Entry engineSpeed="1000.00" torque="400.00" fuelConsumption="9198.00"/> + <Entry engineSpeed="1000.00" torque="600.00" fuelConsumption="12354.00"/> + <Entry engineSpeed="1000.00" torque="800.00" fuelConsumption="15965.00"/> + <Entry engineSpeed="1000.00" torque="1000.00" fuelConsumption="19864.00"/> + <Entry engineSpeed="1000.00" torque="1200.00" fuelConsumption="23530.00"/> + <Entry engineSpeed="1000.00" torque="1400.00" fuelConsumption="27202.00"/> + <Entry engineSpeed="1000.00" torque="1600.00" fuelConsumption="31165.00"/> + <Entry engineSpeed="1000.00" torque="1800.00" fuelConsumption="35103.00"/> + <Entry engineSpeed="1000.00" torque="2000.00" fuelConsumption="39360.00"/> + <Entry engineSpeed="1000.00" torque="2200.00" fuelConsumption="44120.00"/> + <Entry engineSpeed="1000.00" torque="2300.00" fuelConsumption="46836.00"/> + <Entry engineSpeed="1200.00" torque="-179.00" fuelConsumption="0.00"/> + <Entry engineSpeed="1200.00" torque="0.00" fuelConsumption="3307.00"/> + <Entry engineSpeed="1200.00" torque="200.00" fuelConsumption="6897.00"/> + <Entry engineSpeed="1200.00" torque="400.00" fuelConsumption="10651.00"/> + <Entry engineSpeed="1200.00" torque="600.00" fuelConsumption="14645.00"/> + <Entry engineSpeed="1200.00" torque="800.00" fuelConsumption="19115.00"/> + <Entry engineSpeed="1200.00" torque="1000.00" fuelConsumption="23677.00"/> + <Entry engineSpeed="1200.00" torque="1200.00" fuelConsumption="28180.00"/> + <Entry engineSpeed="1200.00" torque="1400.00" fuelConsumption="32431.00"/> + <Entry engineSpeed="1200.00" torque="1600.00" fuelConsumption="36698.00"/> + <Entry engineSpeed="1200.00" torque="1800.00" fuelConsumption="41691.00"/> + <Entry engineSpeed="1200.00" torque="2000.00" fuelConsumption="46915.00"/> + <Entry engineSpeed="1200.00" torque="2200.00" fuelConsumption="51783.00"/> + <Entry engineSpeed="1200.00" torque="2300.00" fuelConsumption="54932.00"/> + <Entry engineSpeed="1400.00" torque="-203.00" fuelConsumption="0.00"/> + <Entry engineSpeed="1400.00" torque="0.00" fuelConsumption="4306.00"/> + <Entry engineSpeed="1400.00" torque="200.00" fuelConsumption="8143.00"/> + <Entry engineSpeed="1400.00" torque="400.00" fuelConsumption="12723.00"/> + <Entry engineSpeed="1400.00" torque="600.00" fuelConsumption="17523.00"/> + <Entry engineSpeed="1400.00" torque="800.00" fuelConsumption="22288.00"/> + <Entry engineSpeed="1400.00" torque="1000.00" fuelConsumption="27093.00"/> + <Entry engineSpeed="1400.00" torque="1200.00" fuelConsumption="32536.00"/> + <Entry engineSpeed="1400.00" torque="1400.00" fuelConsumption="37746.00"/> + <Entry engineSpeed="1400.00" torque="1600.00" fuelConsumption="43194.00"/> + <Entry engineSpeed="1400.00" torque="1800.00" fuelConsumption="49453.00"/> + <Entry engineSpeed="1400.00" torque="2000.00" fuelConsumption="55830.00"/> + <Entry engineSpeed="1400.00" torque="2200.00" fuelConsumption="61072.00"/> + <Entry engineSpeed="1400.00" torque="2300.00" fuelConsumption="64377.00"/> + <Entry engineSpeed="1600.00" torque="-235.00" fuelConsumption="0.00"/> + <Entry engineSpeed="1600.00" torque="0.00" fuelConsumption="5209.00"/> + <Entry engineSpeed="1600.00" torque="200.00" fuelConsumption="9669.00"/> + <Entry engineSpeed="1600.00" torque="400.00" fuelConsumption="14838.00"/> + <Entry engineSpeed="1600.00" torque="600.00" fuelConsumption="20127.00"/> + <Entry engineSpeed="1600.00" torque="800.00" fuelConsumption="25894.00"/> + <Entry engineSpeed="1600.00" torque="1000.00" fuelConsumption="31631.00"/> + <Entry engineSpeed="1600.00" torque="1200.00" fuelConsumption="37248.00"/> + <Entry engineSpeed="1600.00" torque="1400.00" fuelConsumption="42826.00"/> + <Entry engineSpeed="1600.00" torque="1600.00" fuelConsumption="49752.00"/> + <Entry engineSpeed="1600.00" torque="1800.00" fuelConsumption="57020.00"/> + <Entry engineSpeed="1600.00" torque="2000.00" fuelConsumption="63914.00"/> + <Entry engineSpeed="1600.00" torque="2079.00" fuelConsumption="66520.00"/> + <Entry engineSpeed="1800.00" torque="-264.00" fuelConsumption="0.00"/> + <Entry engineSpeed="1800.00" torque="0.00" fuelConsumption="6409.00"/> + <Entry engineSpeed="1800.00" torque="200.00" fuelConsumption="11777.00"/> + <Entry engineSpeed="1800.00" torque="400.00" fuelConsumption="17320.00"/> + <Entry engineSpeed="1800.00" torque="600.00" fuelConsumption="23394.00"/> + <Entry engineSpeed="1800.00" torque="800.00" fuelConsumption="30501.00"/> + <Entry engineSpeed="1800.00" torque="1000.00" fuelConsumption="36378.00"/> + <Entry engineSpeed="1800.00" torque="1200.00" fuelConsumption="43079.00"/> + <Entry engineSpeed="1800.00" torque="1400.00" fuelConsumption="49796.00"/> + <Entry engineSpeed="1800.00" torque="1600.00" fuelConsumption="57436.00"/> + <Entry engineSpeed="1800.00" torque="1800.00" fuelConsumption="65157.00"/> + <Entry engineSpeed="1800.00" torque="1857.00" fuelConsumption="67574.00"/> + <Entry engineSpeed="2000.00" torque="-301.00" fuelConsumption="0.00"/> + <Entry engineSpeed="2000.00" torque="0.00" fuelConsumption="9127.00"/> + <Entry engineSpeed="2000.00" torque="200.00" fuelConsumption="14822.00"/> + <Entry engineSpeed="2000.00" torque="400.00" fuelConsumption="20655.00"/> + <Entry engineSpeed="2000.00" torque="600.00" fuelConsumption="27076.00"/> + <Entry engineSpeed="2000.00" torque="800.00" fuelConsumption="34188.00"/> + <Entry engineSpeed="2000.00" torque="1000.00" fuelConsumption="42837.00"/> + <Entry engineSpeed="2000.00" torque="1200.00" fuelConsumption="51018.00"/> + <Entry engineSpeed="2000.00" torque="1352.00" fuelConsumption="56618.00"/> + <Entry engineSpeed="2100.00" torque="-320.00" fuelConsumption="0.00"/> + <Entry engineSpeed="2100.00" torque="0.00" fuelConsumption="10470.00"/> + <Entry engineSpeed="2100.00" torque="200.00" fuelConsumption="16332.00"/> + <Entry engineSpeed="2100.00" torque="400.00" fuelConsumption="22396.00"/> + <Entry engineSpeed="2100.00" torque="600.00" fuelConsumption="28914.00"/> + <Entry engineSpeed="2100.00" torque="800.00" fuelConsumption="35717.00"/> + <Entry engineSpeed="2100.00" torque="1000.00" fuelConsumption="45643.00"/> + <Entry engineSpeed="2100.00" torque="1100.00" fuelConsumption="50653.00"/> + </FuelConsumptionMap> + <FullLoadAndDragCurve> + <Entry engineSpeed="560.00" maxTorque="1180.00" dragTorque="-149.00"/> + <Entry engineSpeed="600.00" maxTorque="1282.00" dragTorque="-148.00"/> + <Entry engineSpeed="800.00" maxTorque="1791.00" dragTorque="-149.00"/> + <Entry engineSpeed="1000.00" maxTorque="2300.00" dragTorque="-160.00"/> + <Entry engineSpeed="1200.00" maxTorque="2300.00" dragTorque="-179.00"/> + <Entry engineSpeed="1400.00" maxTorque="2300.00" dragTorque="-203.00"/> + <Entry engineSpeed="1600.00" maxTorque="2079.00" dragTorque="-235.00"/> + <Entry engineSpeed="1800.00" maxTorque="1857.00" dragTorque="-264.00"/> + <Entry engineSpeed="2000.00" maxTorque="1352.00" dragTorque="-301.00"/> + <Entry engineSpeed="2100.00" maxTorque="1100.00" dragTorque="-320.00"/> + </FullLoadAndDragCurve> + </Data> + <Signature> + <ComponentDataHash>e0c253b643f7f8f09b963aca4a264d06fbfa599f</ComponentDataHash> + </Signature> + </Engine> + <Gearbox> + <Data id="gbx-vi2Oak2N"> + <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> + <Model>Generic 40t Long Haul Truck Gearbox</Model> + <Creator>Markus Quaritsch, TUG IVT</Creator> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <TransmissionType>AMT</TransmissionType> + <Inertia>0.6</Inertia> + <TractionInterruption>1.5</TractionInterruption> + <Gears> + <Gear number="1"> + <Ratio>14.930</Ratio> + <MaxTorque>5000</MaxTorque> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="2"> + <Ratio>11.640</Ratio> + <MaxTorque>5000</MaxTorque> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="3"> + <Ratio>9.020</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="4"> + <Ratio>7.040</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="5"> + <Ratio>5.640</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="6"> + <Ratio>4.400</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="7"> + <Ratio>3.390</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="8"> + <Ratio>2.650</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="9"> + <Ratio>2.050</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="10"> + <Ratio>1.600</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="11"> + <Ratio>1.280</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/> + </TorqueLossMap> + </Gear> + <Gear number="12"> + <Ratio>1.000</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="6.81"/> + <Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="5.81"/> + <Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="5.31"/> + <Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="6.31"/> + <Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="7.31"/> + <Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="8.31"/> + <Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="9.31"/> + <Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="10.31"/> + <Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="11.31"/> + <Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="12.31"/> + <Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="13.31"/> + <Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="14.31"/> + <Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="15.31"/> + <Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="16.31"/> + <Entry inputSpeed="0.00" inputTorque="2800.00" torqueLoss="17.31"/> + <Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="7.32"/> + <Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="6.32"/> + <Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="5.82"/> + <Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="6.82"/> + <Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="7.82"/> + <Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="8.82"/> + <Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="9.82"/> + <Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="10.82"/> + <Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="11.82"/> + <Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="12.82"/> + <Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="13.82"/> + <Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="14.82"/> + <Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="15.82"/> + <Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="16.82"/> + <Entry inputSpeed="100.00" inputTorque="2800.00" torqueLoss="17.82"/> + <Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="8.33"/> + <Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="7.33"/> + <Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="6.83"/> + <Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="7.83"/> + <Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="8.83"/> + <Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="9.83"/> + <Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="10.83"/> + <Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="11.83"/> + <Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="12.83"/> + <Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="13.83"/> + <Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="14.83"/> + <Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="15.83"/> + <Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="16.83"/> + <Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="17.83"/> + <Entry inputSpeed="300.00" inputTorque="2800.00" torqueLoss="18.83"/> + <Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="9.34"/> + <Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="8.34"/> + <Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="7.84"/> + <Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="8.84"/> + <Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="9.84"/> + <Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="10.84"/> + <Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="11.84"/> + <Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="12.84"/> + <Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="13.84"/> + <Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="14.84"/> + <Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="15.84"/> + <Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="16.84"/> + <Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="17.84"/> + <Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="18.84"/> + <Entry inputSpeed="500.00" inputTorque="2800.00" torqueLoss="19.84"/> + <Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="10.35"/> + <Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="9.35"/> + <Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="8.85"/> + <Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="9.85"/> + <Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="10.85"/> + <Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="11.85"/> + <Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="12.85"/> + <Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="13.85"/> + <Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="14.85"/> + <Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="15.85"/> + <Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="16.85"/> + <Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="17.85"/> + <Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="18.85"/> + <Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="19.85"/> + <Entry inputSpeed="700.00" inputTorque="2800.00" torqueLoss="20.85"/> + <Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="11.36"/> + <Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="10.36"/> + <Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="9.86"/> + <Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="10.86"/> + <Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="11.86"/> + <Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="12.86"/> + <Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="13.86"/> + <Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="14.86"/> + <Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="15.86"/> + <Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="16.86"/> + <Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="17.86"/> + <Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="18.86"/> + <Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="19.86"/> + <Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="20.86"/> + <Entry inputSpeed="900.00" inputTorque="2800.00" torqueLoss="21.86"/> + <Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="12.37"/> + <Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="11.37"/> + <Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="10.88"/> + <Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="11.88"/> + <Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="12.88"/> + <Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="13.88"/> + <Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="14.88"/> + <Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="15.88"/> + <Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="16.88"/> + <Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="17.88"/> + <Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="18.88"/> + <Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="19.88"/> + <Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="20.88"/> + <Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="21.88"/> + <Entry inputSpeed="1100.00" inputTorque="2800.00" torqueLoss="22.88"/> + <Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="13.39"/> + <Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="12.39"/> + <Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="11.89"/> + <Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="12.89"/> + <Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="13.89"/> + <Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="14.89"/> + <Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="15.89"/> + <Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="16.89"/> + <Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="17.89"/> + <Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="18.89"/> + <Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="19.89"/> + <Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="20.89"/> + <Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="21.89"/> + <Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="22.89"/> + <Entry inputSpeed="1300.00" inputTorque="2800.00" torqueLoss="23.89"/> + <Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="14.40"/> + <Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="13.40"/> + <Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="12.90"/> + <Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="13.90"/> + <Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="14.90"/> + <Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="15.90"/> + <Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="16.90"/> + <Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="17.90"/> + <Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="18.90"/> + <Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="19.90"/> + <Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="20.90"/> + <Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="21.90"/> + <Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="22.90"/> + <Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="23.90"/> + <Entry inputSpeed="1500.00" inputTorque="2800.00" torqueLoss="24.90"/> + <Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="15.41"/> + <Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="14.41"/> + <Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="13.91"/> + <Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="14.91"/> + <Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="15.91"/> + <Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="16.91"/> + <Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="17.91"/> + <Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="18.91"/> + <Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="19.91"/> + <Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="20.91"/> + <Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="21.91"/> + <Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="22.91"/> + <Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="23.91"/> + <Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="24.91"/> + <Entry inputSpeed="1700.00" inputTorque="2800.00" torqueLoss="25.91"/> + <Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="16.42"/> + <Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="15.42"/> + <Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="14.92"/> + <Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="15.92"/> + <Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="16.92"/> + <Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="17.92"/> + <Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="18.92"/> + <Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="19.92"/> + <Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="20.92"/> + <Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="21.92"/> + <Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="22.92"/> + <Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="23.92"/> + <Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="24.92"/> + <Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="25.92"/> + <Entry inputSpeed="1900.00" inputTorque="2800.00" torqueLoss="26.92"/> + <Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="17.43"/> + <Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="16.43"/> + <Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="15.94"/> + <Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="16.94"/> + <Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="17.94"/> + <Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="18.94"/> + <Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="19.94"/> + <Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="20.94"/> + <Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="21.94"/> + <Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="22.94"/> + <Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="23.94"/> + <Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="24.94"/> + <Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="25.94"/> + <Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="26.94"/> + <Entry inputSpeed="2100.00" inputTorque="2800.00" torqueLoss="27.94"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="10.06"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="10.56"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="11.58"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="12.59"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="13.60"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="14.61"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="15.63"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="16.64"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="17.65"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="18.66"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="19.67"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="20.69"/> + </TorqueLossMap> + </Gear> + </Gears> + </Data> + <Signature> + <ComponentDataHash>d14189366134120e08fa3f2c6e3328dd13c08a23</ComponentDataHash> + </Signature> + </Gearbox> + <Retarder> + <Data id="RET-Shai9imi"> + <Manufacturer>Generic Retarder Manufacturer</Manufacturer> + <Model>Generic Retarder</Model> + <Creator>Markus Quaritsch, TUG ITI</Creator> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <RetarderLossMap> + <Entry retarderSpeed="0.00" torqueLoss="10.00"/> + <Entry retarderSpeed="100.00" torqueLoss="10.02"/> + <Entry retarderSpeed="200.00" torqueLoss="10.08"/> + <Entry retarderSpeed="300.00" torqueLoss="10.18"/> + <Entry retarderSpeed="400.00" torqueLoss="10.32"/> + <Entry retarderSpeed="500.00" torqueLoss="10.50"/> + <Entry retarderSpeed="600.00" torqueLoss="10.72"/> + <Entry retarderSpeed="700.00" torqueLoss="10.98"/> + <Entry retarderSpeed="800.00" torqueLoss="11.28"/> + <Entry retarderSpeed="900.00" torqueLoss="11.62"/> + <Entry retarderSpeed="1000.00" torqueLoss="12.00"/> + <Entry retarderSpeed="1100.00" torqueLoss="12.42"/> + <Entry retarderSpeed="1200.00" torqueLoss="12.88"/> + <Entry retarderSpeed="1300.00" torqueLoss="13.38"/> + <Entry retarderSpeed="1400.00" torqueLoss="13.92"/> + <Entry retarderSpeed="1500.00" torqueLoss="14.50"/> + <Entry retarderSpeed="1600.00" torqueLoss="15.12"/> + <Entry retarderSpeed="1700.00" torqueLoss="15.78"/> + <Entry retarderSpeed="1800.00" torqueLoss="16.48"/> + <Entry retarderSpeed="1900.00" torqueLoss="17.22"/> + <Entry retarderSpeed="2000.00" torqueLoss="18.00"/> + <Entry retarderSpeed="2100.00" torqueLoss="18.82"/> + <Entry retarderSpeed="2200.00" torqueLoss="19.68"/> + <Entry retarderSpeed="2300.00" torqueLoss="20.58"/> + </RetarderLossMap> + </Data> + <Signature> + <ComponentDataHash>da830e08360407c5168f1a37e9760e0cbbf8a17d</ComponentDataHash> + </Signature> + </Retarder> + <Axlegear> + <Data id="AXL-EC3ohnoh"> + <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> + <Model>Generic 40t Long Haul Truck AxleGear</Model> + <Creator>Markus Quaritsch, TUG ITI</Creator> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <Ratio>2.590</Ratio> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="0.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="0.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="0.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="0.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="0.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="0.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="0.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="0.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="0.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="0.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="0.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="0.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="0.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="0.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="0.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="0.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="0.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="0.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="0.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="0.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="0.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="0.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="0.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="0.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="0.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="0.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="0.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="0.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="0.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="0.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="0.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="0.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="0.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="0.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="0.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="0.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="100.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="100.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="100.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="100.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="100.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="100.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="100.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="100.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="100.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="100.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="100.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="100.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="100.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="100.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="100.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="100.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="100.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="100.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="100.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="100.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="100.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="100.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="100.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="100.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="100.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="100.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="100.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="100.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="100.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="100.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="100.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="100.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="100.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="100.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="100.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="100.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="100.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="100.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="100.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="300.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="300.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="300.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="300.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="300.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="300.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="300.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="300.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="300.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="300.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="300.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="300.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="300.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="300.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="300.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="300.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="300.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="300.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="300.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="300.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="300.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="300.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="300.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="300.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="300.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="300.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="300.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="300.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="300.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="300.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="300.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="300.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="300.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="300.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="300.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="300.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="300.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="300.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="300.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="500.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="500.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="500.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="500.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="500.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="500.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="500.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="500.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="500.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="500.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="500.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="500.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="500.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="500.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="500.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="500.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="500.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="500.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="500.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="500.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="500.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="500.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="500.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="500.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="500.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="500.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="500.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="500.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="500.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="500.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="500.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="500.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="500.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="500.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="500.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="500.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="500.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="500.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="500.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="700.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="700.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="700.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="700.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="700.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="700.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="700.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="700.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="700.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="700.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="700.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="700.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="700.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="700.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="700.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="700.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="700.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="700.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="700.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="700.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="700.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="700.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="700.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="700.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="700.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="700.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="700.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="700.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="700.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="700.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="700.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="700.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="700.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="700.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="700.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="700.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="700.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="700.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="700.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="900.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="900.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="900.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="900.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="900.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="900.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="900.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="900.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="900.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="900.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="900.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="900.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="900.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="900.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="900.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="900.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="900.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="900.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="900.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="900.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="900.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="900.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="900.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="900.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="900.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="900.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="900.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="900.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="900.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="900.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="900.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="900.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="900.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="900.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="900.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="900.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="900.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="900.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="1100.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1100.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1100.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1100.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1100.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="1100.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1100.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1100.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1100.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1100.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="1100.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="1100.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="1100.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="1100.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="1100.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="1100.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="1100.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="1100.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="1100.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="1100.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="1100.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="1100.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="1100.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="1100.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="1100.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="1100.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="1100.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="1100.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="1100.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="1100.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="1100.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="1100.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="1100.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="1100.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="1100.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="1100.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="1100.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="1100.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="1100.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="1300.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1300.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1300.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1300.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1300.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="1300.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1300.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1300.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1300.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1300.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="1300.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="1300.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="1300.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="1300.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="1300.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="1300.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="1300.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="1300.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="1300.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="1300.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="1300.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="1300.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="1300.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="1300.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="1300.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="1300.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="1300.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="1300.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="1300.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="1300.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="1300.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="1300.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="1300.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="1300.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="1300.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="1300.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="1300.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="1300.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="1300.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="1500.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1500.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1500.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1500.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1500.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="1500.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1500.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1500.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1500.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1500.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="1500.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="1500.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="1500.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="1500.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="1500.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="1500.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="1500.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="1500.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="1500.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="1500.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="1500.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="1500.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="1500.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="1500.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="1500.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="1500.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="1500.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="1500.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="1500.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="1500.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="1500.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="1500.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="1500.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="1500.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="1500.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="1500.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="1500.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="1500.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="1500.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="1700.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1700.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1700.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1700.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1700.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="1700.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1700.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1700.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1700.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1700.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="1700.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="1700.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="1700.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="1700.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="1700.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="1700.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="1700.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="1700.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="1700.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="1700.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="1700.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="1700.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="1700.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="1700.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="1700.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="1700.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="1700.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="1700.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="1700.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="1700.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="1700.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="1700.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="1700.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="1700.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="1700.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="1700.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="1700.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="1700.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="1700.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="1900.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1900.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1900.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1900.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1900.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="1900.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="1900.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="1900.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="1900.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="1900.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="1900.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="1900.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="1900.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="1900.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="1900.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="1900.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="1900.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="1900.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="1900.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="1900.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="1900.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="1900.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="1900.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="1900.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="1900.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="1900.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="1900.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="1900.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="1900.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="1900.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="1900.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="1900.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="1900.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="1900.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="1900.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="1900.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="1900.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="1900.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="1900.00" inputTorque="35000.00" torqueLoss="565.00"/> + <Entry inputSpeed="2100.00" inputTorque="-5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="2100.00" inputTorque="-4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="2100.00" inputTorque="-3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="2100.00" inputTorque="-2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="2100.00" inputTorque="0.00" torqueLoss="40.00"/> + <Entry inputSpeed="2100.00" inputTorque="1000.00" torqueLoss="55.00"/> + <Entry inputSpeed="2100.00" inputTorque="2000.00" torqueLoss="70.00"/> + <Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="85.00"/> + <Entry inputSpeed="2100.00" inputTorque="4000.00" torqueLoss="100.00"/> + <Entry inputSpeed="2100.00" inputTorque="5000.00" torqueLoss="115.00"/> + <Entry inputSpeed="2100.00" inputTorque="6000.00" torqueLoss="130.00"/> + <Entry inputSpeed="2100.00" inputTorque="7000.00" torqueLoss="145.00"/> + <Entry inputSpeed="2100.00" inputTorque="8000.00" torqueLoss="160.00"/> + <Entry inputSpeed="2100.00" inputTorque="9000.00" torqueLoss="175.00"/> + <Entry inputSpeed="2100.00" inputTorque="10000.00" torqueLoss="190.00"/> + <Entry inputSpeed="2100.00" inputTorque="11000.00" torqueLoss="205.00"/> + <Entry inputSpeed="2100.00" inputTorque="12000.00" torqueLoss="220.00"/> + <Entry inputSpeed="2100.00" inputTorque="13000.00" torqueLoss="235.00"/> + <Entry inputSpeed="2100.00" inputTorque="14000.00" torqueLoss="250.00"/> + <Entry inputSpeed="2100.00" inputTorque="15000.00" torqueLoss="265.00"/> + <Entry inputSpeed="2100.00" inputTorque="16000.00" torqueLoss="280.00"/> + <Entry inputSpeed="2100.00" inputTorque="17000.00" torqueLoss="295.00"/> + <Entry inputSpeed="2100.00" inputTorque="18000.00" torqueLoss="310.00"/> + <Entry inputSpeed="2100.00" inputTorque="19000.00" torqueLoss="325.00"/> + <Entry inputSpeed="2100.00" inputTorque="20000.00" torqueLoss="340.00"/> + <Entry inputSpeed="2100.00" inputTorque="21000.00" torqueLoss="355.00"/> + <Entry inputSpeed="2100.00" inputTorque="22000.00" torqueLoss="370.00"/> + <Entry inputSpeed="2100.00" inputTorque="23000.00" torqueLoss="385.00"/> + <Entry inputSpeed="2100.00" inputTorque="24000.00" torqueLoss="400.00"/> + <Entry inputSpeed="2100.00" inputTorque="25000.00" torqueLoss="415.00"/> + <Entry inputSpeed="2100.00" inputTorque="26000.00" torqueLoss="430.00"/> + <Entry inputSpeed="2100.00" inputTorque="27000.00" torqueLoss="445.00"/> + <Entry inputSpeed="2100.00" inputTorque="28000.00" torqueLoss="460.00"/> + <Entry inputSpeed="2100.00" inputTorque="29000.00" torqueLoss="475.00"/> + <Entry inputSpeed="2100.00" inputTorque="30000.00" torqueLoss="490.00"/> + <Entry inputSpeed="2100.00" inputTorque="31000.00" torqueLoss="505.00"/> + <Entry inputSpeed="2100.00" inputTorque="32000.00" torqueLoss="520.00"/> + <Entry inputSpeed="2100.00" inputTorque="33000.00" torqueLoss="535.00"/> + <Entry inputSpeed="2100.00" inputTorque="34000.00" torqueLoss="550.00"/> + <Entry inputSpeed="2100.00" inputTorque="35000.00" torqueLoss="565.00"/> + </TorqueLossMap> + </Data> + <Signature> + <ComponentDataHash>5074334bb2c090c5e258e9a664f5d19689a3f13d</ComponentDataHash> + </Signature> + </Axlegear> + <AxleWheels> + <Data id="WHL-mi3ooviM"> + <Axles> + <Axle axleNumber="1"> + <Manufacturer>Generic Wheels Manufacturer</Manufacturer> + <Model>Generic Wheel</Model> + <Creator>Markus Quaritsch, TUG ITI</Creator> + <Date>2017-01-11T14:00:00Z</Date> + <AxleType>VehicleNonDriven</AxleType> + <TwinTyres>false</TwinTyres> + <Steered>true</Steered> + <Dimension>315/70 R22.5</Dimension> + <RRCISO>0.0055</RRCISO> + <FzISO>31300</FzISO> + <WeightShare>0.4</WeightShare> + <Inertia>0</Inertia> + </Axle> + <Axle axleNumber="2"> + <Manufacturer>Generic Wheels Manufacturer</Manufacturer> + <Model>Generic Wheel</Model> + <Creator>Markus Quaritsch, TUG ITI</Creator> + <Date>2017-01-11T14:00:00Z</Date> + <AxleType>VehicleDriven</AxleType> + <TwinTyres>true</TwinTyres> + <Steered>true</Steered> + <Dimension>315/70 R22.5</Dimension> + <RRCISO>0.0063</RRCISO> + <FzISO>31300</FzISO> + <WeightShare>0.6</WeightShare> + <Inertia>0</Inertia> + <DynamicTyreRadius>488.822</DynamicTyreRadius> + </Axle> + </Axles> + </Data> + </AxleWheels> + <Auxiliaries> + <Data> + <Auxiliary id="ES"> + <TransmissionRatioToEngine>4.078</TransmissionRatioToEngine> + <EfficiencyToEngine>0.96</EfficiencyToEngine> + <EfficiencyAuxSupply>1</EfficiencyAuxSupply> + <AuxMap> + <Entry auxiliarySpeed="1415" mechanicalPower="70" supplyPower="0.0"/> + <Entry auxiliarySpeed="1415" mechanicalPower="870" supplyPower="530"/> + <Entry auxiliarySpeed="1415" mechanicalPower="1030" supplyPower="640"/> + <Entry auxiliarySpeed="1415" mechanicalPower="1.17" supplyPower="0.75"/> + <Entry auxiliarySpeed="1416" mechanicalPower="1.36" supplyPower="0.84"/> + <Entry auxiliarySpeed="1416" mechanicalPower="2.4" supplyPower="1.4"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.07" supplyPower="0"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.68" supplyPower="0.41"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.87" supplyPower="0.54"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.99" supplyPower="0.64"/> + <Entry auxiliarySpeed="1887" mechanicalPower="1.1" supplyPower="0.74"/> + <Entry auxiliarySpeed="1887" mechanicalPower="2.11" supplyPower="1.47"/> + <Entry auxiliarySpeed="1887" mechanicalPower="2.55" supplyPower="1.74"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.07" supplyPower="0"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.65" supplyPower="0.38"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.79" supplyPower="0.49"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.99" supplyPower="0.64"/> + <Entry auxiliarySpeed="2358" mechanicalPower="1.12" supplyPower="0.75"/> + <Entry auxiliarySpeed="2358" mechanicalPower="1.59" supplyPower="1.12"/> + <Entry auxiliarySpeed="2358" mechanicalPower="1.99" supplyPower="1.42"/> + <Entry auxiliarySpeed="2358" mechanicalPower="2.41" supplyPower="1.68"/> + <Entry auxiliarySpeed="2358" mechanicalPower="2.86" supplyPower="1.95"/> + <Entry auxiliarySpeed="2358" mechanicalPower="3.19" supplyPower="2.12"/> + <Entry auxiliarySpeed="2358" mechanicalPower="3.51" supplyPower="2.3"/> + <Entry auxiliarySpeed="2830" mechanicalPower="0.08" supplyPower="0"/> + <Entry auxiliarySpeed="2830" mechanicalPower="0.7" supplyPower="0.41"/> + <Entry auxiliarySpeed="2830" mechanicalPower="0.83" supplyPower="0.51"/> + <Entry auxiliarySpeed="2830" mechanicalPower="1.02" supplyPower="0.66"/> + <Entry auxiliarySpeed="2830" mechanicalPower="1.12" supplyPower="0.75"/> + <Entry auxiliarySpeed="2830" mechanicalPower="1.6" supplyPower="1.13"/> + <Entry auxiliarySpeed="2830" mechanicalPower="2.45" supplyPower="1.71"/> + <Entry auxiliarySpeed="2830" mechanicalPower="2.96" supplyPower="2.02"/> + <Entry auxiliarySpeed="2830" mechanicalPower="3.38" supplyPower="2.24"/> + <Entry auxiliarySpeed="2830" mechanicalPower="3.8" supplyPower="2.46"/> + <Entry auxiliarySpeed="2830" mechanicalPower="4.14" supplyPower="2.63"/> + <Entry auxiliarySpeed="3302" mechanicalPower="0.08" supplyPower="0"/> + <Entry auxiliarySpeed="3302" mechanicalPower="0.74" supplyPower="0.44"/> + <Entry auxiliarySpeed="3302" mechanicalPower="0.88" supplyPower="0.54"/> + <Entry auxiliarySpeed="3302" mechanicalPower="1.07" supplyPower="0.69"/> + <Entry auxiliarySpeed="3302" mechanicalPower="1.19" supplyPower="0.79"/> + <Entry auxiliarySpeed="3302" mechanicalPower="2.45" supplyPower="1.71"/> + <Entry auxiliarySpeed="3302" mechanicalPower="2.98" supplyPower="2.03"/> + <Entry auxiliarySpeed="3302" mechanicalPower="3.44" supplyPower="2.28"/> + <Entry auxiliarySpeed="3302" mechanicalPower="3.88" supplyPower="2.51"/> + <Entry auxiliarySpeed="3302" mechanicalPower="4.46" supplyPower="2.8"/> + <Entry auxiliarySpeed="3773" mechanicalPower="0.09" supplyPower="0"/> + <Entry auxiliarySpeed="3773" mechanicalPower="0.8" supplyPower="0.47"/> + <Entry auxiliarySpeed="3773" mechanicalPower="0.93" supplyPower="0.57"/> + <Entry auxiliarySpeed="3773" mechanicalPower="1.15" supplyPower="0.74"/> + <Entry auxiliarySpeed="3773" mechanicalPower="1.27" supplyPower="0.85"/> + <Entry auxiliarySpeed="3773" mechanicalPower="2.44" supplyPower="1.69"/> + <Entry auxiliarySpeed="3773" mechanicalPower="2.98" supplyPower="2.02"/> + <Entry auxiliarySpeed="3773" mechanicalPower="3.46" supplyPower="2.29"/> + <Entry auxiliarySpeed="3773" mechanicalPower="3.96" supplyPower="2.55"/> + <Entry auxiliarySpeed="3773" mechanicalPower="4.47" supplyPower="2.8"/> + <Entry auxiliarySpeed="3773" mechanicalPower="4.69" supplyPower="2.91"/> + <Entry auxiliarySpeed="4245" mechanicalPower="0.11" supplyPower="0"/> + <Entry auxiliarySpeed="4245" mechanicalPower="0.88" supplyPower="0.51"/> + <Entry auxiliarySpeed="4245" mechanicalPower="1.02" supplyPower="0.62"/> + <Entry auxiliarySpeed="4245" mechanicalPower="1.22" supplyPower="0.78"/> + <Entry auxiliarySpeed="4245" mechanicalPower="1.47" supplyPower="0.98"/> + <Entry auxiliarySpeed="4245" mechanicalPower="2.36" supplyPower="1.62"/> + <Entry auxiliarySpeed="4245" mechanicalPower="2.98" supplyPower="2.01"/> + <Entry auxiliarySpeed="4245" mechanicalPower="3.46" supplyPower="2.28"/> + <Entry auxiliarySpeed="4245" mechanicalPower="4" supplyPower="2.57"/> + <Entry auxiliarySpeed="4245" mechanicalPower="4.47" supplyPower="2.79"/> + <Entry auxiliarySpeed="4245" mechanicalPower="4.94" supplyPower="3"/> + <Entry auxiliarySpeed="4716" mechanicalPower="0.12" supplyPower="0"/> + <Entry auxiliarySpeed="4716" mechanicalPower="0.97" supplyPower="0.56"/> + <Entry auxiliarySpeed="4716" mechanicalPower="1.11" supplyPower="0.67"/> + <Entry auxiliarySpeed="4716" mechanicalPower="1.32" supplyPower="0.84"/> + <Entry auxiliarySpeed="4716" mechanicalPower="1.91" supplyPower="1.29"/> + <Entry auxiliarySpeed="4716" mechanicalPower="2.96" supplyPower="1.99"/> + <Entry auxiliarySpeed="4716" mechanicalPower="3.46" supplyPower="2.27"/> + <Entry auxiliarySpeed="4716" mechanicalPower="4" supplyPower="2.56"/> + <Entry auxiliarySpeed="4716" mechanicalPower="4.52" supplyPower="2.81"/> + <Entry auxiliarySpeed="4716" mechanicalPower="4.97" supplyPower="3"/> + <Entry auxiliarySpeed="4716" mechanicalPower="5.12" supplyPower="3.08"/> + <Entry auxiliarySpeed="5188" mechanicalPower="0.14" supplyPower="0"/> + <Entry auxiliarySpeed="5188" mechanicalPower="1.08" supplyPower="0.62"/> + <Entry auxiliarySpeed="5188" mechanicalPower="1.21" supplyPower="0.73"/> + <Entry auxiliarySpeed="5188" mechanicalPower="1.47" supplyPower="0.93"/> + <Entry auxiliarySpeed="5188" mechanicalPower="2.89" supplyPower="1.92"/> + <Entry auxiliarySpeed="5188" mechanicalPower="3.45" supplyPower="2.25"/> + <Entry auxiliarySpeed="5188" mechanicalPower="3.99" supplyPower="2.54"/> + <Entry auxiliarySpeed="5188" mechanicalPower="4.54" supplyPower="2.82"/> + <Entry auxiliarySpeed="5188" mechanicalPower="4.98" supplyPower="3"/> + <Entry auxiliarySpeed="5188" mechanicalPower="5.19" supplyPower="3.11"/> + <Entry auxiliarySpeed="5660" mechanicalPower="0.17" supplyPower="0"/> + <Entry auxiliarySpeed="5660" mechanicalPower="1.19" supplyPower="0.67"/> + <Entry auxiliarySpeed="5660" mechanicalPower="1.32" supplyPower="0.79"/> + <Entry auxiliarySpeed="5660" mechanicalPower="1.69" supplyPower="1.07"/> + <Entry auxiliarySpeed="5660" mechanicalPower="2.54" supplyPower="1.66"/> + <Entry auxiliarySpeed="5660" mechanicalPower="3.37" supplyPower="2.18"/> + <Entry auxiliarySpeed="5660" mechanicalPower="3.98" supplyPower="2.52"/> + <Entry auxiliarySpeed="5660" mechanicalPower="4.55" supplyPower="2.8"/> + <Entry auxiliarySpeed="5660" mechanicalPower="5.02" supplyPower="3.01"/> + <Entry auxiliarySpeed="5660" mechanicalPower="5.27" supplyPower="3.14"/> + <Entry auxiliarySpeed="6131" mechanicalPower="0.19" supplyPower="0"/> + <Entry auxiliarySpeed="6131" mechanicalPower="1.28" supplyPower="0.72"/> + <Entry auxiliarySpeed="6131" mechanicalPower="1.49" supplyPower="0.88"/> + <Entry auxiliarySpeed="6131" mechanicalPower="2.15" supplyPower="1.37"/> + <Entry auxiliarySpeed="6131" mechanicalPower="3.19" supplyPower="2.04"/> + <Entry auxiliarySpeed="6131" mechanicalPower="3.92" supplyPower="2.46"/> + <Entry auxiliarySpeed="6131" mechanicalPower="4.48" supplyPower="2.75"/> + <Entry auxiliarySpeed="6131" mechanicalPower="5.44" supplyPower="3.16"/> + <Entry auxiliarySpeed="6603" mechanicalPower="0.22" supplyPower="0"/> + <Entry auxiliarySpeed="6603" mechanicalPower="1.42" supplyPower="0.79"/> + <Entry auxiliarySpeed="6603" mechanicalPower="1.81" supplyPower="1.08"/> + <Entry auxiliarySpeed="6603" mechanicalPower="2.92" supplyPower="1.84"/> + <Entry auxiliarySpeed="6603" mechanicalPower="3.75" supplyPower="2.33"/> + <Entry auxiliarySpeed="6603" mechanicalPower="4.38" supplyPower="2.66"/> + <Entry auxiliarySpeed="6603" mechanicalPower="4.94" supplyPower="2.92"/> + <Entry auxiliarySpeed="6603" mechanicalPower="5.51" supplyPower="3.19"/> + <Entry auxiliarySpeed="7075" mechanicalPower="0.25" supplyPower="0"/> + <Entry auxiliarySpeed="7075" mechanicalPower="1.63" supplyPower="0.91"/> + <Entry auxiliarySpeed="7075" mechanicalPower="2.35" supplyPower="1.43"/> + <Entry auxiliarySpeed="7075" mechanicalPower="3.43" supplyPower="2.1"/> + <Entry auxiliarySpeed="7075" mechanicalPower="4.24" supplyPower="2.55"/> + <Entry auxiliarySpeed="7075" mechanicalPower="4.82" supplyPower="2.83"/> + <Entry auxiliarySpeed="7075" mechanicalPower="5.54" supplyPower="3.19"/> + <Entry auxiliarySpeed="7546" mechanicalPower="0.28" supplyPower="0"/> + <Entry auxiliarySpeed="7546" mechanicalPower="1.93" supplyPower="1.09"/> + <Entry auxiliarySpeed="7546" mechanicalPower="3.04" supplyPower="1.82"/> + <Entry auxiliarySpeed="7546" mechanicalPower="4.09" supplyPower="2.43"/> + <Entry auxiliarySpeed="7546" mechanicalPower="4.69" supplyPower="2.73"/> + <Entry auxiliarySpeed="7546" mechanicalPower="5.7" supplyPower="3.19"/> + <Entry auxiliarySpeed="9150" mechanicalPower="0.42" supplyPower="0"/> + <Entry auxiliarySpeed="9150" mechanicalPower="5.74" supplyPower="3.19"/> + <Entry auxiliarySpeed="12000" mechanicalPower="0.42" supplyPower="0"/> + <Entry auxiliarySpeed="12000" mechanicalPower="5.74" supplyPower="3.19"/> + </AuxMap> + </Auxiliary> + <Auxiliary id="FAN"> + <TransmissionRatioToEngine>4.078</TransmissionRatioToEngine> + <EfficiencyToEngine>0.96</EfficiencyToEngine> + <EfficiencyAuxSupply>1</EfficiencyAuxSupply> + <AuxMap> + <Entry auxiliarySpeed="1415" mechanicalPower="70" supplyPower="0.0"/> + <Entry auxiliarySpeed="1415" mechanicalPower="870" supplyPower="530"/> + <Entry auxiliarySpeed="1415" mechanicalPower="1030" supplyPower="640"/> + <Entry auxiliarySpeed="1415" mechanicalPower="1.17" supplyPower="0.75"/> + <Entry auxiliarySpeed="1416" mechanicalPower="1.36" supplyPower="0.84"/> + <Entry auxiliarySpeed="1416" mechanicalPower="2.4" supplyPower="1.4"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.07" supplyPower="0"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.68" supplyPower="0.41"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.87" supplyPower="0.54"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.99" supplyPower="0.64"/> + <Entry auxiliarySpeed="1887" mechanicalPower="1.1" supplyPower="0.74"/> + <Entry auxiliarySpeed="1887" mechanicalPower="2.11" supplyPower="1.47"/> + <Entry auxiliarySpeed="1887" mechanicalPower="2.55" supplyPower="1.74"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.07" supplyPower="0"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.65" supplyPower="0.38"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.79" supplyPower="0.49"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.99" supplyPower="0.64"/> + <Entry auxiliarySpeed="2358" mechanicalPower="1.12" supplyPower="0.75"/> + <Entry auxiliarySpeed="2358" mechanicalPower="1.59" supplyPower="1.12"/> + <Entry auxiliarySpeed="2358" mechanicalPower="1.99" supplyPower="1.42"/> + <Entry auxiliarySpeed="2358" mechanicalPower="2.41" supplyPower="1.68"/> + <Entry auxiliarySpeed="2358" mechanicalPower="2.86" supplyPower="1.95"/> + <Entry auxiliarySpeed="2358" mechanicalPower="3.19" supplyPower="2.12"/> + <Entry auxiliarySpeed="2358" mechanicalPower="3.51" supplyPower="2.3"/> + <Entry auxiliarySpeed="2830" mechanicalPower="0.08" supplyPower="0"/> + <Entry auxiliarySpeed="2830" mechanicalPower="0.7" supplyPower="0.41"/> + <Entry auxiliarySpeed="2830" mechanicalPower="0.83" supplyPower="0.51"/> + <Entry auxiliarySpeed="2830" mechanicalPower="1.02" supplyPower="0.66"/> + <Entry auxiliarySpeed="2830" mechanicalPower="1.12" supplyPower="0.75"/> + <Entry auxiliarySpeed="2830" mechanicalPower="1.6" supplyPower="1.13"/> + <Entry auxiliarySpeed="2830" mechanicalPower="2.45" supplyPower="1.71"/> + <Entry auxiliarySpeed="2830" mechanicalPower="2.96" supplyPower="2.02"/> + <Entry auxiliarySpeed="2830" mechanicalPower="3.38" supplyPower="2.24"/> + <Entry auxiliarySpeed="2830" mechanicalPower="3.8" supplyPower="2.46"/> + <Entry auxiliarySpeed="2830" mechanicalPower="4.14" supplyPower="2.63"/> + <Entry auxiliarySpeed="3302" mechanicalPower="0.08" supplyPower="0"/> + <Entry auxiliarySpeed="3302" mechanicalPower="0.74" supplyPower="0.44"/> + <Entry auxiliarySpeed="3302" mechanicalPower="0.88" supplyPower="0.54"/> + <Entry auxiliarySpeed="3302" mechanicalPower="1.07" supplyPower="0.69"/> + <Entry auxiliarySpeed="3302" mechanicalPower="1.19" supplyPower="0.79"/> + <Entry auxiliarySpeed="3302" mechanicalPower="2.45" supplyPower="1.71"/> + <Entry auxiliarySpeed="3302" mechanicalPower="2.98" supplyPower="2.03"/> + <Entry auxiliarySpeed="3302" mechanicalPower="3.44" supplyPower="2.28"/> + <Entry auxiliarySpeed="3302" mechanicalPower="3.88" supplyPower="2.51"/> + <Entry auxiliarySpeed="3302" mechanicalPower="4.46" supplyPower="2.8"/> + <Entry auxiliarySpeed="3773" mechanicalPower="0.09" supplyPower="0"/> + <Entry auxiliarySpeed="3773" mechanicalPower="0.8" supplyPower="0.47"/> + <Entry auxiliarySpeed="3773" mechanicalPower="0.93" supplyPower="0.57"/> + <Entry auxiliarySpeed="3773" mechanicalPower="1.15" supplyPower="0.74"/> + <Entry auxiliarySpeed="3773" mechanicalPower="1.27" supplyPower="0.85"/> + <Entry auxiliarySpeed="3773" mechanicalPower="2.44" supplyPower="1.69"/> + <Entry auxiliarySpeed="3773" mechanicalPower="2.98" supplyPower="2.02"/> + <Entry auxiliarySpeed="3773" mechanicalPower="3.46" supplyPower="2.29"/> + <Entry auxiliarySpeed="3773" mechanicalPower="3.96" supplyPower="2.55"/> + <Entry auxiliarySpeed="3773" mechanicalPower="4.47" supplyPower="2.8"/> + <Entry auxiliarySpeed="3773" mechanicalPower="4.69" supplyPower="2.91"/> + <Entry auxiliarySpeed="4245" mechanicalPower="0.11" supplyPower="0"/> + <Entry auxiliarySpeed="4245" mechanicalPower="0.88" supplyPower="0.51"/> + <Entry auxiliarySpeed="4245" mechanicalPower="1.02" supplyPower="0.62"/> + <Entry auxiliarySpeed="4245" mechanicalPower="1.22" supplyPower="0.78"/> + <Entry auxiliarySpeed="4245" mechanicalPower="1.47" supplyPower="0.98"/> + <Entry auxiliarySpeed="4245" mechanicalPower="2.36" supplyPower="1.62"/> + <Entry auxiliarySpeed="4245" mechanicalPower="2.98" supplyPower="2.01"/> + <Entry auxiliarySpeed="4245" mechanicalPower="3.46" supplyPower="2.28"/> + <Entry auxiliarySpeed="4245" mechanicalPower="4" supplyPower="2.57"/> + <Entry auxiliarySpeed="4245" mechanicalPower="4.47" supplyPower="2.79"/> + <Entry auxiliarySpeed="4245" mechanicalPower="4.94" supplyPower="3"/> + <Entry auxiliarySpeed="4716" mechanicalPower="0.12" supplyPower="0"/> + <Entry auxiliarySpeed="4716" mechanicalPower="0.97" supplyPower="0.56"/> + <Entry auxiliarySpeed="4716" mechanicalPower="1.11" supplyPower="0.67"/> + <Entry auxiliarySpeed="4716" mechanicalPower="1.32" supplyPower="0.84"/> + <Entry auxiliarySpeed="4716" mechanicalPower="1.91" supplyPower="1.29"/> + <Entry auxiliarySpeed="4716" mechanicalPower="2.96" supplyPower="1.99"/> + <Entry auxiliarySpeed="4716" mechanicalPower="3.46" supplyPower="2.27"/> + <Entry auxiliarySpeed="4716" mechanicalPower="4" supplyPower="2.56"/> + <Entry auxiliarySpeed="4716" mechanicalPower="4.52" supplyPower="2.81"/> + <Entry auxiliarySpeed="4716" mechanicalPower="4.97" supplyPower="3"/> + <Entry auxiliarySpeed="4716" mechanicalPower="5.12" supplyPower="3.08"/> + <Entry auxiliarySpeed="5188" mechanicalPower="0.14" supplyPower="0"/> + <Entry auxiliarySpeed="5188" mechanicalPower="1.08" supplyPower="0.62"/> + <Entry auxiliarySpeed="5188" mechanicalPower="1.21" supplyPower="0.73"/> + <Entry auxiliarySpeed="5188" mechanicalPower="1.47" supplyPower="0.93"/> + <Entry auxiliarySpeed="5188" mechanicalPower="2.89" supplyPower="1.92"/> + <Entry auxiliarySpeed="5188" mechanicalPower="3.45" supplyPower="2.25"/> + <Entry auxiliarySpeed="5188" mechanicalPower="3.99" supplyPower="2.54"/> + <Entry auxiliarySpeed="5188" mechanicalPower="4.54" supplyPower="2.82"/> + <Entry auxiliarySpeed="5188" mechanicalPower="4.98" supplyPower="3"/> + <Entry auxiliarySpeed="5188" mechanicalPower="5.19" supplyPower="3.11"/> + <Entry auxiliarySpeed="5660" mechanicalPower="0.17" supplyPower="0"/> + <Entry auxiliarySpeed="5660" mechanicalPower="1.19" supplyPower="0.67"/> + <Entry auxiliarySpeed="5660" mechanicalPower="1.32" supplyPower="0.79"/> + <Entry auxiliarySpeed="5660" mechanicalPower="1.69" supplyPower="1.07"/> + <Entry auxiliarySpeed="5660" mechanicalPower="2.54" supplyPower="1.66"/> + <Entry auxiliarySpeed="5660" mechanicalPower="3.37" supplyPower="2.18"/> + <Entry auxiliarySpeed="5660" mechanicalPower="3.98" supplyPower="2.52"/> + <Entry auxiliarySpeed="5660" mechanicalPower="4.55" supplyPower="2.8"/> + <Entry auxiliarySpeed="5660" mechanicalPower="5.02" supplyPower="3.01"/> + <Entry auxiliarySpeed="5660" mechanicalPower="5.27" supplyPower="3.14"/> + <Entry auxiliarySpeed="6131" mechanicalPower="0.19" supplyPower="0"/> + <Entry auxiliarySpeed="6131" mechanicalPower="1.28" supplyPower="0.72"/> + <Entry auxiliarySpeed="6131" mechanicalPower="1.49" supplyPower="0.88"/> + <Entry auxiliarySpeed="6131" mechanicalPower="2.15" supplyPower="1.37"/> + <Entry auxiliarySpeed="6131" mechanicalPower="3.19" supplyPower="2.04"/> + <Entry auxiliarySpeed="6131" mechanicalPower="3.92" supplyPower="2.46"/> + <Entry auxiliarySpeed="6131" mechanicalPower="4.48" supplyPower="2.75"/> + <Entry auxiliarySpeed="6131" mechanicalPower="5.44" supplyPower="3.16"/> + <Entry auxiliarySpeed="6603" mechanicalPower="0.22" supplyPower="0"/> + <Entry auxiliarySpeed="6603" mechanicalPower="1.42" supplyPower="0.79"/> + <Entry auxiliarySpeed="6603" mechanicalPower="1.81" supplyPower="1.08"/> + <Entry auxiliarySpeed="6603" mechanicalPower="2.92" supplyPower="1.84"/> + <Entry auxiliarySpeed="6603" mechanicalPower="3.75" supplyPower="2.33"/> + <Entry auxiliarySpeed="6603" mechanicalPower="4.38" supplyPower="2.66"/> + <Entry auxiliarySpeed="6603" mechanicalPower="4.94" supplyPower="2.92"/> + <Entry auxiliarySpeed="6603" mechanicalPower="5.51" supplyPower="3.19"/> + <Entry auxiliarySpeed="7075" mechanicalPower="0.25" supplyPower="0"/> + <Entry auxiliarySpeed="7075" mechanicalPower="1.63" supplyPower="0.91"/> + <Entry auxiliarySpeed="7075" mechanicalPower="2.35" supplyPower="1.43"/> + <Entry auxiliarySpeed="7075" mechanicalPower="3.43" supplyPower="2.1"/> + <Entry auxiliarySpeed="7075" mechanicalPower="4.24" supplyPower="2.55"/> + <Entry auxiliarySpeed="7075" mechanicalPower="4.82" supplyPower="2.83"/> + <Entry auxiliarySpeed="7075" mechanicalPower="5.54" supplyPower="3.19"/> + <Entry auxiliarySpeed="7546" mechanicalPower="0.28" supplyPower="0"/> + <Entry auxiliarySpeed="7546" mechanicalPower="1.93" supplyPower="1.09"/> + <Entry auxiliarySpeed="7546" mechanicalPower="3.04" supplyPower="1.82"/> + <Entry auxiliarySpeed="7546" mechanicalPower="4.09" supplyPower="2.43"/> + <Entry auxiliarySpeed="7546" mechanicalPower="4.69" supplyPower="2.73"/> + <Entry auxiliarySpeed="7546" mechanicalPower="5.7" supplyPower="3.19"/> + <Entry auxiliarySpeed="9150" mechanicalPower="0.42" supplyPower="0"/> + <Entry auxiliarySpeed="9150" mechanicalPower="5.74" supplyPower="3.19"/> + <Entry auxiliarySpeed="12000" mechanicalPower="0.42" supplyPower="0"/> + <Entry auxiliarySpeed="12000" mechanicalPower="5.74" supplyPower="3.19"/> + </AuxMap> + </Auxiliary> + </Data> + </Auxiliaries> + <AirDrag> + <Data> + <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> + <Model>Generic 40t Long Haul Truck Gearbox</Model> + <Creator>Markus Quaritsch, TUG IVT</Creator> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <CrossWindCorrectionMode>No Correction</CrossWindCorrectionMode> + <CdxA>6.29</CdxA> + </Data> + </AirDrag> + </Components> </Vehicle> - <Signature> - <ComponentDataHash>69459c035a9733204729dce38e991f1092d2eb42</ComponentDataHash> - </Signature> <DriverModel> <LookAheadCoasting> <Enabled>true</Enabled> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_FULL.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_FULL.xml index 79c860cf538ed653e9cf7443f7bd459019e4dd05..3487b3517dc9b28523716d37d015d56955ae97ef 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_FULL.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_FULL.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<tns:VectoInputEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.8" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 ../XSD/VectoEngineeringInput.xsd"> +<tns:VectoInputEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.8" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoEngineeringInput.0.7.xsd"> <EngineOnlyMode>false</EngineOnlyMode> <Vehicle id="VEH-1234567890"> <Manufacturer>Generic Truck Manufacturer</Manufacturer> @@ -26,6 +26,14 @@ </PTOCycle> <CurbMassExtra>500</CurbMassExtra> <Loading>1500</Loading> + <AdvancedDriverAssist> + <EngineStartStop> + <Enabled>false</Enabled> + <MaxSpeed>8</MaxSpeed> + <MinOnTime>8</MinOnTime> + <ActivationDelay>8</ActivationDelay> + </EngineStartStop> + </AdvancedDriverAssist> <Components> <Engine> <Data id="ENG-gooZah3D"> @@ -2550,27 +2558,27 @@ <Signature> <ComponentDataHash>d14189366134120e08fa3f2c6e3328dd13c08a23</ComponentDataHash> </Signature> - <TorqueConverter> - <Data> + </Gearbox> + <TorqueConverter> + <Data> <Manufacturer>Generic Torqueconverter Manufacturer</Manufacturer> <Model>Generic Torqueconverter</Model> <Creator>Markus Quaritsch, TUG ITI</Creator> <Date>2017-01-11T11:00:00Z</Date> - <ReferenceRPM>1000</ReferenceRPM> - <Characteristics> - <Entry speedRatio="0.0000" inputTorqueRef="300.00" torqueRatio="1.80"/> - <Entry speedRatio="1.0000" inputTorqueRef="10.00" torqueRatio="1.00"/> - <Entry speedRatio="2.0000" inputTorqueRef="-10.00" torqueRatio="0.90"/> - </Characteristics> - <Inertia>1.1</Inertia> - <ShiftPolygon> - <Entry engineTorque="-200" downshiftSpeed="700" upshiftSpeed="800"/> - <Entry engineTorque="1600" downshiftSpeed="700" upshiftSpeed="800"/> - </ShiftPolygon> - <MaxInputSpeed>1700</MaxInputSpeed> - </Data> - </TorqueConverter> - </Gearbox> + <ReferenceRPM>1000</ReferenceRPM> + <Characteristics> + <Entry speedRatio="0.0000" inputTorqueRef="300.00" torqueRatio="1.80"/> + <Entry speedRatio="1.0000" inputTorqueRef="10.00" torqueRatio="1.00"/> + <Entry speedRatio="2.0000" inputTorqueRef="-10.00" torqueRatio="0.90"/> + </Characteristics> + <Inertia>1.1</Inertia> + <ShiftPolygon> + <Entry engineTorque="-200" downshiftSpeed="700" upshiftSpeed="800"/> + <Entry engineTorque="1600" downshiftSpeed="700" upshiftSpeed="800"/> + </ShiftPolygon> + <MaxInputSpeed>1700</MaxInputSpeed> + </Data> + </TorqueConverter> <Angledrive> <Data> <Manufacturer>Generic Angledrive Manufacturer</Manufacturer> @@ -3464,18 +3472,7 @@ </Data> </AirDrag> </Components> - <AdvancedDriverAssist> - <EngineStartStop> - <Enabled>false</Enabled> - <MaxSpeed>8</MaxSpeed> - <MinOnTime>8</MinOnTime> - <ActivationDelay>8</ActivationDelay> - </EngineStartStop> - </AdvancedDriverAssist> </Vehicle> - <Signature> - <ComponentDataHash>69459c035a9733204729dce38e991f1092d2eb42</ComponentDataHash> - </Signature> <DriverModel> <LookAheadCoasting> <Enabled>true</Enabled> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_ref.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_ref.xml index 9d7de168f8566e398d6b7a619a7ffc45601169ce..7961eceb303a045187a0da0e6a0f887d5edd39cd 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_ref.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_job-sample_ref.xml @@ -1,10 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> -<tns:VectoInputEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.6" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 ../XSD/VectoEngineeringInput.xsd"> +<tns:VectoInputEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.6" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoEngineeringInput.0.7.xsd"> <EngineOnlyMode>false</EngineOnlyMode> - <Resource type="xml" component="Vehicle" file="engineering_vehicle_ref.xml"/> - <Signature> - <ComponentDataHash>69459c035a9733204729dce38e991f1092d2eb42</ComponentDataHash> - </Signature> + <Vehicle> + <Resource type="xml" file="engineering_vehicle_ref.xml"/> + </Vehicle> <DriverModel> <LookAheadCoasting> <Enabled>true</Enabled> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_vehicle_ref.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_vehicle_ref.xml index 6b9257ba1874c2ada0712d062ed2535865d6ba07..cb13f2281fcc8f4c9a2626a75a7715f1397ca7ff 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_vehicle_ref.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderEngineering/engineering_vehicle_ref.xml @@ -1,250 +1,259 @@ <?xml version="1.0" encoding="UTF-8"?> -<tns:VectoComponentEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.6" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 ../XSD/VectoEngineeringInput.xsd"> +<tns:VectoComponentEngineering xmlns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v0.7" xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v0.6" schemaVersion="0.7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:EngineeringInput:v0.7 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoEngineeringInput.0.7.xsd"> <Vehicle id="VEH-1234567890"> - <Manufacturer>Generic Truck Manufacturer</Manufacturer> - <Model>Generic LongHaul Truck</Model> - <Creator>Markus Quaritsch, TUG IVT</Creator> - <Date>2017-02-15T11:00:00Z</Date> - <VehicleCategory>Tractor</VehicleCategory> - <AxleConfiguration>4x2</AxleConfiguration> - <CurbMassChassis>7100</CurbMassChassis> - <GrossVehicleMass>18000</GrossVehicleMass> - <RetarderType>Transmission Output Retarder</RetarderType> - <RetarderRatio>1.000</RetarderRatio> - <AngledriveType>None</AngledriveType> - <PTOType>None</PTOType> - <PTOIdleLossMap> - <Resource type="csv" file="pto_idlelosses.vptol"/> - </PTOIdleLossMap> - <PTOCycle> - <Resource type="csv" file="pto_cycle.vptoc"/> - </PTOCycle> - <CurbMassExtra>500</CurbMassExtra> - <Loading>1500</Loading> - <Components> - <Resource component="Engine" type="xml" file="engineering_engine-sample_ref.xml"/> - <Resource component="Gearbox" type="xml" file="engineering_gearbox-sample_ref.xml"/> - <Angledrive> - <Data> - <Manufacturer>Generic Angledrive Manufacturer</Manufacturer> - <Model>Generic Angledrive</Model> - <Creator>Markus Quaritsch, TUG ITI</Creator> - <Date>2017-01-11T11:00:00Z</Date> - <Ratio>1.200</Ratio> - <TorqueLossMap> - <Resource type="csv" file="angledrive.vtlm"/> - </TorqueLossMap> - </Data> - </Angledrive> - <Retarder> - <Data> - <Manufacturer>Generic Retarder Manufacturer</Manufacturer> - <Model>Generic Retarder</Model> - <Creator>Markus Quaritsch, TUG ITI</Creator> - <Date>2017-01-11T11:00:00Z</Date> - <AppVersion>3.0.1</AppVersion> - <RetarderLossMap> - <Resource type="csv" file="Retarder.vrlm"/> - </RetarderLossMap> - </Data> - </Retarder> - <Resource component="Axlegear" type="xml" file="engineering_axlegear-sample_ref.xml"/> - <AxleWheels> - <Data id="WHL-mi3ooviM"> - <Axles> - <Axle axleNumber="1"> - <Manufacturer>Generic Wheels Manufacturer</Manufacturer> - <Model>Generic Wheel</Model> - <Creator>Markus Quaritsch, TUG ITI</Creator> - <Date>2017-01-11T14:00:00Z</Date> - <AxleType>VehicleNonDriven</AxleType> - <TwinTyres>false</TwinTyres> - <Steered>true</Steered> - <Dimension>315/70 R22.5</Dimension> - <RRCISO>0.0055</RRCISO> - <FzISO>31300</FzISO> - <WeightShare>0.4</WeightShare> - <Inertia>0</Inertia> - </Axle> - <Axle axleNumber="2"> - <Manufacturer>Generic Wheels Manufacturer</Manufacturer> - <Model>Generic Wheel</Model> - <Creator>Markus Quaritsch, TUG ITI</Creator> - <Date>2017-01-11T14:00:00Z</Date> - <AxleType>VehicleDriven</AxleType> - <TwinTyres>true</TwinTyres> - <Steered>false</Steered> - <Dimension>315/70 R22.5</Dimension> - <RRCISO>0.0063</RRCISO> - <FzISO>31300</FzISO> - <WeightShare>0.6</WeightShare> - <Inertia>0</Inertia> - <DynamicTyreRadius>488.822</DynamicTyreRadius> - </Axle> - </Axles> - </Data> - </AxleWheels> - <Auxiliaries> - <Data> - <Auxiliary id="ES"> - <TransmissionRatioToEngine>4.078</TransmissionRatioToEngine> - <EfficiencyToEngine>0.96</EfficiencyToEngine> - <EfficiencyAuxSupply>1</EfficiencyAuxSupply> - <AuxMap> - <Entry auxiliarySpeed="1415" mechanicalPower="70" supplyPower="0.0"/> - <Entry auxiliarySpeed="1415" mechanicalPower="870" supplyPower="530"/> - <Entry auxiliarySpeed="1415" mechanicalPower="1030" supplyPower="640"/> - <Entry auxiliarySpeed="1415" mechanicalPower="1.17" supplyPower="0.75"/> - <Entry auxiliarySpeed="1416" mechanicalPower="1.36" supplyPower="0.84"/> - <Entry auxiliarySpeed="1416" mechanicalPower="2.4" supplyPower="1.4"/> - <Entry auxiliarySpeed="1887" mechanicalPower="0.07" supplyPower="0"/> - <Entry auxiliarySpeed="1887" mechanicalPower="0.68" supplyPower="0.41"/> - <Entry auxiliarySpeed="1887" mechanicalPower="0.87" supplyPower="0.54"/> - <Entry auxiliarySpeed="1887" mechanicalPower="0.99" supplyPower="0.64"/> - <Entry auxiliarySpeed="1887" mechanicalPower="1.1" supplyPower="0.74"/> - <Entry auxiliarySpeed="1887" mechanicalPower="2.11" supplyPower="1.47"/> - <Entry auxiliarySpeed="1887" mechanicalPower="2.55" supplyPower="1.74"/> - <Entry auxiliarySpeed="2358" mechanicalPower="0.07" supplyPower="0"/> - <Entry auxiliarySpeed="2358" mechanicalPower="0.65" supplyPower="0.38"/> - <Entry auxiliarySpeed="2358" mechanicalPower="0.79" supplyPower="0.49"/> - <Entry auxiliarySpeed="2358" mechanicalPower="0.99" supplyPower="0.64"/> - <Entry auxiliarySpeed="2358" mechanicalPower="1.12" supplyPower="0.75"/> - <Entry auxiliarySpeed="2358" mechanicalPower="1.59" supplyPower="1.12"/> - <Entry auxiliarySpeed="2358" mechanicalPower="1.99" supplyPower="1.42"/> - <Entry auxiliarySpeed="2358" mechanicalPower="2.41" supplyPower="1.68"/> - <Entry auxiliarySpeed="2358" mechanicalPower="2.86" supplyPower="1.95"/> - <Entry auxiliarySpeed="2358" mechanicalPower="3.19" supplyPower="2.12"/> - <Entry auxiliarySpeed="2358" mechanicalPower="3.51" supplyPower="2.3"/> - <Entry auxiliarySpeed="2830" mechanicalPower="0.08" supplyPower="0"/> - <Entry auxiliarySpeed="2830" mechanicalPower="0.7" supplyPower="0.41"/> - <Entry auxiliarySpeed="2830" mechanicalPower="0.83" supplyPower="0.51"/> - <Entry auxiliarySpeed="2830" mechanicalPower="1.02" supplyPower="0.66"/> - <Entry auxiliarySpeed="2830" mechanicalPower="1.12" supplyPower="0.75"/> - <Entry auxiliarySpeed="2830" mechanicalPower="1.6" supplyPower="1.13"/> - <Entry auxiliarySpeed="2830" mechanicalPower="2.45" supplyPower="1.71"/> - <Entry auxiliarySpeed="2830" mechanicalPower="2.96" supplyPower="2.02"/> - <Entry auxiliarySpeed="2830" mechanicalPower="3.38" supplyPower="2.24"/> - <Entry auxiliarySpeed="2830" mechanicalPower="3.8" supplyPower="2.46"/> - <Entry auxiliarySpeed="2830" mechanicalPower="4.14" supplyPower="2.63"/> - <Entry auxiliarySpeed="3302" mechanicalPower="0.08" supplyPower="0"/> - <Entry auxiliarySpeed="3302" mechanicalPower="0.74" supplyPower="0.44"/> - <Entry auxiliarySpeed="3302" mechanicalPower="0.88" supplyPower="0.54"/> - <Entry auxiliarySpeed="3302" mechanicalPower="1.07" supplyPower="0.69"/> - <Entry auxiliarySpeed="3302" mechanicalPower="1.19" supplyPower="0.79"/> - <Entry auxiliarySpeed="3302" mechanicalPower="2.45" supplyPower="1.71"/> - <Entry auxiliarySpeed="3302" mechanicalPower="2.98" supplyPower="2.03"/> - <Entry auxiliarySpeed="3302" mechanicalPower="3.44" supplyPower="2.28"/> - <Entry auxiliarySpeed="3302" mechanicalPower="3.88" supplyPower="2.51"/> - <Entry auxiliarySpeed="3302" mechanicalPower="4.46" supplyPower="2.8"/> - <Entry auxiliarySpeed="3773" mechanicalPower="0.09" supplyPower="0"/> - <Entry auxiliarySpeed="3773" mechanicalPower="0.8" supplyPower="0.47"/> - <Entry auxiliarySpeed="3773" mechanicalPower="0.93" supplyPower="0.57"/> - <Entry auxiliarySpeed="3773" mechanicalPower="1.15" supplyPower="0.74"/> - <Entry auxiliarySpeed="3773" mechanicalPower="1.27" supplyPower="0.85"/> - <Entry auxiliarySpeed="3773" mechanicalPower="2.44" supplyPower="1.69"/> - <Entry auxiliarySpeed="3773" mechanicalPower="2.98" supplyPower="2.02"/> - <Entry auxiliarySpeed="3773" mechanicalPower="3.46" supplyPower="2.29"/> - <Entry auxiliarySpeed="3773" mechanicalPower="3.96" supplyPower="2.55"/> - <Entry auxiliarySpeed="3773" mechanicalPower="4.47" supplyPower="2.8"/> - <Entry auxiliarySpeed="3773" mechanicalPower="4.69" supplyPower="2.91"/> - <Entry auxiliarySpeed="4245" mechanicalPower="0.11" supplyPower="0"/> - <Entry auxiliarySpeed="4245" mechanicalPower="0.88" supplyPower="0.51"/> - <Entry auxiliarySpeed="4245" mechanicalPower="1.02" supplyPower="0.62"/> - <Entry auxiliarySpeed="4245" mechanicalPower="1.22" supplyPower="0.78"/> - <Entry auxiliarySpeed="4245" mechanicalPower="1.47" supplyPower="0.98"/> - <Entry auxiliarySpeed="4245" mechanicalPower="2.36" supplyPower="1.62"/> - <Entry auxiliarySpeed="4245" mechanicalPower="2.98" supplyPower="2.01"/> - <Entry auxiliarySpeed="4245" mechanicalPower="3.46" supplyPower="2.28"/> - <Entry auxiliarySpeed="4245" mechanicalPower="4" supplyPower="2.57"/> - <Entry auxiliarySpeed="4245" mechanicalPower="4.47" supplyPower="2.79"/> - <Entry auxiliarySpeed="4245" mechanicalPower="4.94" supplyPower="3"/> - <Entry auxiliarySpeed="4716" mechanicalPower="0.12" supplyPower="0"/> - <Entry auxiliarySpeed="4716" mechanicalPower="0.97" supplyPower="0.56"/> - <Entry auxiliarySpeed="4716" mechanicalPower="1.11" supplyPower="0.67"/> - <Entry auxiliarySpeed="4716" mechanicalPower="1.32" supplyPower="0.84"/> - <Entry auxiliarySpeed="4716" mechanicalPower="1.91" supplyPower="1.29"/> - <Entry auxiliarySpeed="4716" mechanicalPower="2.96" supplyPower="1.99"/> - <Entry auxiliarySpeed="4716" mechanicalPower="3.46" supplyPower="2.27"/> - <Entry auxiliarySpeed="4716" mechanicalPower="4" supplyPower="2.56"/> - <Entry auxiliarySpeed="4716" mechanicalPower="4.52" supplyPower="2.81"/> - <Entry auxiliarySpeed="4716" mechanicalPower="4.97" supplyPower="3"/> - <Entry auxiliarySpeed="4716" mechanicalPower="5.12" supplyPower="3.08"/> - <Entry auxiliarySpeed="5188" mechanicalPower="0.14" supplyPower="0"/> - <Entry auxiliarySpeed="5188" mechanicalPower="1.08" supplyPower="0.62"/> - <Entry auxiliarySpeed="5188" mechanicalPower="1.21" supplyPower="0.73"/> - <Entry auxiliarySpeed="5188" mechanicalPower="1.47" supplyPower="0.93"/> - <Entry auxiliarySpeed="5188" mechanicalPower="2.89" supplyPower="1.92"/> - <Entry auxiliarySpeed="5188" mechanicalPower="3.45" supplyPower="2.25"/> - <Entry auxiliarySpeed="5188" mechanicalPower="3.99" supplyPower="2.54"/> - <Entry auxiliarySpeed="5188" mechanicalPower="4.54" supplyPower="2.82"/> - <Entry auxiliarySpeed="5188" mechanicalPower="4.98" supplyPower="3"/> - <Entry auxiliarySpeed="5188" mechanicalPower="5.19" supplyPower="3.11"/> - <Entry auxiliarySpeed="5660" mechanicalPower="0.17" supplyPower="0"/> - <Entry auxiliarySpeed="5660" mechanicalPower="1.19" supplyPower="0.67"/> - <Entry auxiliarySpeed="5660" mechanicalPower="1.32" supplyPower="0.79"/> - <Entry auxiliarySpeed="5660" mechanicalPower="1.69" supplyPower="1.07"/> - <Entry auxiliarySpeed="5660" mechanicalPower="2.54" supplyPower="1.66"/> - <Entry auxiliarySpeed="5660" mechanicalPower="3.37" supplyPower="2.18"/> - <Entry auxiliarySpeed="5660" mechanicalPower="3.98" supplyPower="2.52"/> - <Entry auxiliarySpeed="5660" mechanicalPower="4.55" supplyPower="2.8"/> - <Entry auxiliarySpeed="5660" mechanicalPower="5.02" supplyPower="3.01"/> - <Entry auxiliarySpeed="5660" mechanicalPower="5.27" supplyPower="3.14"/> - <Entry auxiliarySpeed="6131" mechanicalPower="0.19" supplyPower="0"/> - <Entry auxiliarySpeed="6131" mechanicalPower="1.28" supplyPower="0.72"/> - <Entry auxiliarySpeed="6131" mechanicalPower="1.49" supplyPower="0.88"/> - <Entry auxiliarySpeed="6131" mechanicalPower="2.15" supplyPower="1.37"/> - <Entry auxiliarySpeed="6131" mechanicalPower="3.19" supplyPower="2.04"/> - <Entry auxiliarySpeed="6131" mechanicalPower="3.92" supplyPower="2.46"/> - <Entry auxiliarySpeed="6131" mechanicalPower="4.48" supplyPower="2.75"/> - <Entry auxiliarySpeed="6131" mechanicalPower="5.44" supplyPower="3.16"/> - <Entry auxiliarySpeed="6603" mechanicalPower="0.22" supplyPower="0"/> - <Entry auxiliarySpeed="6603" mechanicalPower="1.42" supplyPower="0.79"/> - <Entry auxiliarySpeed="6603" mechanicalPower="1.81" supplyPower="1.08"/> - <Entry auxiliarySpeed="6603" mechanicalPower="2.92" supplyPower="1.84"/> - <Entry auxiliarySpeed="6603" mechanicalPower="3.75" supplyPower="2.33"/> - <Entry auxiliarySpeed="6603" mechanicalPower="4.38" supplyPower="2.66"/> - <Entry auxiliarySpeed="6603" mechanicalPower="4.94" supplyPower="2.92"/> - <Entry auxiliarySpeed="6603" mechanicalPower="5.51" supplyPower="3.19"/> - <Entry auxiliarySpeed="7075" mechanicalPower="0.25" supplyPower="0"/> - <Entry auxiliarySpeed="7075" mechanicalPower="1.63" supplyPower="0.91"/> - <Entry auxiliarySpeed="7075" mechanicalPower="2.35" supplyPower="1.43"/> - <Entry auxiliarySpeed="7075" mechanicalPower="3.43" supplyPower="2.1"/> - <Entry auxiliarySpeed="7075" mechanicalPower="4.24" supplyPower="2.55"/> - <Entry auxiliarySpeed="7075" mechanicalPower="4.82" supplyPower="2.83"/> - <Entry auxiliarySpeed="7075" mechanicalPower="5.54" supplyPower="3.19"/> - <Entry auxiliarySpeed="7546" mechanicalPower="0.28" supplyPower="0"/> - <Entry auxiliarySpeed="7546" mechanicalPower="1.93" supplyPower="1.09"/> - <Entry auxiliarySpeed="7546" mechanicalPower="3.04" supplyPower="1.82"/> - <Entry auxiliarySpeed="7546" mechanicalPower="4.09" supplyPower="2.43"/> - <Entry auxiliarySpeed="7546" mechanicalPower="4.69" supplyPower="2.73"/> - <Entry auxiliarySpeed="7546" mechanicalPower="5.7" supplyPower="3.19"/> - <Entry auxiliarySpeed="9150" mechanicalPower="0.42" supplyPower="0"/> - <Entry auxiliarySpeed="9150" mechanicalPower="5.74" supplyPower="3.19"/> - <Entry auxiliarySpeed="12000" mechanicalPower="0.42" supplyPower="0"/> - <Entry auxiliarySpeed="12000" mechanicalPower="5.74" supplyPower="3.19"/> - </AuxMap> - </Auxiliary> - <Auxiliary id="FAN"> - <Resource type="csv" file="dummy.vaux"/> - </Auxiliary> - </Data> - </Auxiliaries> - <AirDrag> - <Data> - <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> - <Model>Generic 40t Long Haul Truck Gearbox</Model> - <Creator>Markus Quaritsch, TUG IVT</Creator> - <Date>2017-01-11T11:00:00Z</Date> - <AppVersion>3.0.1</AppVersion> - <CrossWindCorrectionMode>No Correction</CrossWindCorrectionMode> - <CdxA>6.29</CdxA> - </Data> - </AirDrag> - </Components> - <AdvancedDriverAssist> - <EngineStartStop> - <Enabled>false</Enabled> - </EngineStartStop> - </AdvancedDriverAssist> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <Model>Generic LongHaul Truck</Model> + <Creator>Markus Quaritsch, TUG IVT</Creator> + <Date>2017-02-15T11:00:00Z</Date> + <VehicleCategory>Tractor</VehicleCategory> + <AxleConfiguration>4x2</AxleConfiguration> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>18000</GrossVehicleMass> + <RetarderType>Transmission Output Retarder</RetarderType> + <RetarderRatio>1.000</RetarderRatio> + <AngledriveType>None</AngledriveType> + <PTOType>None</PTOType> + <PTOIdleLossMap> + <Resource type="csv" file="pto_idlelosses.vptol"/> + </PTOIdleLossMap> + <PTOCycle> + <Resource type="csv" file="pto_cycle.vptoc"/> + </PTOCycle> + <CurbMassExtra>500</CurbMassExtra> + <Loading>1500</Loading> + <AdvancedDriverAssist> + <EngineStartStop> + <Enabled>false</Enabled> + </EngineStartStop> + </AdvancedDriverAssist> + <Components> + <Engine> + <Resource type="xml" file="engineering_engine-sample_ref.xml"/> + </Engine> + <Gearbox> + <Resource type="xml" file="engineering_gearbox-sample_ref.xml"/> + </Gearbox> + <TorqueConverter> + <Resource type="xml" file="engineering_torqueconverter-sample_ref.xml"/> + </TorqueConverter> + <Angledrive> + <Data> + <Manufacturer>Generic Angledrive Manufacturer</Manufacturer> + <Model>Generic Angledrive</Model> + <Creator>Markus Quaritsch, TUG ITI</Creator> + <Date>2017-01-11T11:00:00Z</Date> + <Ratio>1.200</Ratio> + <TorqueLossMap> + <Resource type="csv" file="angledrive.vtlm"/> + </TorqueLossMap> + </Data> + </Angledrive> + <Retarder> + <Data> + <Manufacturer>Generic Retarder Manufacturer</Manufacturer> + <Model>Generic Retarder</Model> + <Creator>Markus Quaritsch, TUG ITI</Creator> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <RetarderLossMap> + <Resource type="csv" file="Retarder.vrlm"/> + </RetarderLossMap> + </Data> + </Retarder> + <Axlegear> + <Resource type="xml" file="engineering_axlegear-sample_ref.xml"/> + </Axlegear> + <AxleWheels> + <Data id="WHL-mi3ooviM"> + <Axles> + <Axle axleNumber="1"> + <Manufacturer>Generic Wheels Manufacturer</Manufacturer> + <Model>Generic Wheel</Model> + <Creator>Markus Quaritsch, TUG ITI</Creator> + <Date>2017-01-11T14:00:00Z</Date> + <AxleType>VehicleNonDriven</AxleType> + <TwinTyres>false</TwinTyres> + <Steered>true</Steered> + <Dimension>315/70 R22.5</Dimension> + <RRCISO>0.0055</RRCISO> + <FzISO>31300</FzISO> + <WeightShare>0.4</WeightShare> + <Inertia>0</Inertia> + </Axle> + <Axle axleNumber="2"> + <Manufacturer>Generic Wheels Manufacturer</Manufacturer> + <Model>Generic Wheel</Model> + <Creator>Markus Quaritsch, TUG ITI</Creator> + <Date>2017-01-11T14:00:00Z</Date> + <AxleType>VehicleDriven</AxleType> + <TwinTyres>true</TwinTyres> + <Steered>false</Steered> + <Dimension>315/70 R22.5</Dimension> + <RRCISO>0.0063</RRCISO> + <FzISO>31300</FzISO> + <WeightShare>0.6</WeightShare> + <Inertia>0</Inertia> + <DynamicTyreRadius>488.822</DynamicTyreRadius> + </Axle> + </Axles> + </Data> + </AxleWheels> + <Auxiliaries> + <Data> + <Auxiliary id="ES"> + <TransmissionRatioToEngine>4.078</TransmissionRatioToEngine> + <EfficiencyToEngine>0.96</EfficiencyToEngine> + <EfficiencyAuxSupply>1</EfficiencyAuxSupply> + <AuxMap> + <Entry auxiliarySpeed="1415" mechanicalPower="70" supplyPower="0.0"/> + <Entry auxiliarySpeed="1415" mechanicalPower="870" supplyPower="530"/> + <Entry auxiliarySpeed="1415" mechanicalPower="1030" supplyPower="640"/> + <Entry auxiliarySpeed="1415" mechanicalPower="1.17" supplyPower="0.75"/> + <Entry auxiliarySpeed="1416" mechanicalPower="1.36" supplyPower="0.84"/> + <Entry auxiliarySpeed="1416" mechanicalPower="2.4" supplyPower="1.4"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.07" supplyPower="0"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.68" supplyPower="0.41"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.87" supplyPower="0.54"/> + <Entry auxiliarySpeed="1887" mechanicalPower="0.99" supplyPower="0.64"/> + <Entry auxiliarySpeed="1887" mechanicalPower="1.1" supplyPower="0.74"/> + <Entry auxiliarySpeed="1887" mechanicalPower="2.11" supplyPower="1.47"/> + <Entry auxiliarySpeed="1887" mechanicalPower="2.55" supplyPower="1.74"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.07" supplyPower="0"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.65" supplyPower="0.38"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.79" supplyPower="0.49"/> + <Entry auxiliarySpeed="2358" mechanicalPower="0.99" supplyPower="0.64"/> + <Entry auxiliarySpeed="2358" mechanicalPower="1.12" supplyPower="0.75"/> + <Entry auxiliarySpeed="2358" mechanicalPower="1.59" supplyPower="1.12"/> + <Entry auxiliarySpeed="2358" mechanicalPower="1.99" supplyPower="1.42"/> + <Entry auxiliarySpeed="2358" mechanicalPower="2.41" supplyPower="1.68"/> + <Entry auxiliarySpeed="2358" mechanicalPower="2.86" supplyPower="1.95"/> + <Entry auxiliarySpeed="2358" mechanicalPower="3.19" supplyPower="2.12"/> + <Entry auxiliarySpeed="2358" mechanicalPower="3.51" supplyPower="2.3"/> + <Entry auxiliarySpeed="2830" mechanicalPower="0.08" supplyPower="0"/> + <Entry auxiliarySpeed="2830" mechanicalPower="0.7" supplyPower="0.41"/> + <Entry auxiliarySpeed="2830" mechanicalPower="0.83" supplyPower="0.51"/> + <Entry auxiliarySpeed="2830" mechanicalPower="1.02" supplyPower="0.66"/> + <Entry auxiliarySpeed="2830" mechanicalPower="1.12" supplyPower="0.75"/> + <Entry auxiliarySpeed="2830" mechanicalPower="1.6" supplyPower="1.13"/> + <Entry auxiliarySpeed="2830" mechanicalPower="2.45" supplyPower="1.71"/> + <Entry auxiliarySpeed="2830" mechanicalPower="2.96" supplyPower="2.02"/> + <Entry auxiliarySpeed="2830" mechanicalPower="3.38" supplyPower="2.24"/> + <Entry auxiliarySpeed="2830" mechanicalPower="3.8" supplyPower="2.46"/> + <Entry auxiliarySpeed="2830" mechanicalPower="4.14" supplyPower="2.63"/> + <Entry auxiliarySpeed="3302" mechanicalPower="0.08" supplyPower="0"/> + <Entry auxiliarySpeed="3302" mechanicalPower="0.74" supplyPower="0.44"/> + <Entry auxiliarySpeed="3302" mechanicalPower="0.88" supplyPower="0.54"/> + <Entry auxiliarySpeed="3302" mechanicalPower="1.07" supplyPower="0.69"/> + <Entry auxiliarySpeed="3302" mechanicalPower="1.19" supplyPower="0.79"/> + <Entry auxiliarySpeed="3302" mechanicalPower="2.45" supplyPower="1.71"/> + <Entry auxiliarySpeed="3302" mechanicalPower="2.98" supplyPower="2.03"/> + <Entry auxiliarySpeed="3302" mechanicalPower="3.44" supplyPower="2.28"/> + <Entry auxiliarySpeed="3302" mechanicalPower="3.88" supplyPower="2.51"/> + <Entry auxiliarySpeed="3302" mechanicalPower="4.46" supplyPower="2.8"/> + <Entry auxiliarySpeed="3773" mechanicalPower="0.09" supplyPower="0"/> + <Entry auxiliarySpeed="3773" mechanicalPower="0.8" supplyPower="0.47"/> + <Entry auxiliarySpeed="3773" mechanicalPower="0.93" supplyPower="0.57"/> + <Entry auxiliarySpeed="3773" mechanicalPower="1.15" supplyPower="0.74"/> + <Entry auxiliarySpeed="3773" mechanicalPower="1.27" supplyPower="0.85"/> + <Entry auxiliarySpeed="3773" mechanicalPower="2.44" supplyPower="1.69"/> + <Entry auxiliarySpeed="3773" mechanicalPower="2.98" supplyPower="2.02"/> + <Entry auxiliarySpeed="3773" mechanicalPower="3.46" supplyPower="2.29"/> + <Entry auxiliarySpeed="3773" mechanicalPower="3.96" supplyPower="2.55"/> + <Entry auxiliarySpeed="3773" mechanicalPower="4.47" supplyPower="2.8"/> + <Entry auxiliarySpeed="3773" mechanicalPower="4.69" supplyPower="2.91"/> + <Entry auxiliarySpeed="4245" mechanicalPower="0.11" supplyPower="0"/> + <Entry auxiliarySpeed="4245" mechanicalPower="0.88" supplyPower="0.51"/> + <Entry auxiliarySpeed="4245" mechanicalPower="1.02" supplyPower="0.62"/> + <Entry auxiliarySpeed="4245" mechanicalPower="1.22" supplyPower="0.78"/> + <Entry auxiliarySpeed="4245" mechanicalPower="1.47" supplyPower="0.98"/> + <Entry auxiliarySpeed="4245" mechanicalPower="2.36" supplyPower="1.62"/> + <Entry auxiliarySpeed="4245" mechanicalPower="2.98" supplyPower="2.01"/> + <Entry auxiliarySpeed="4245" mechanicalPower="3.46" supplyPower="2.28"/> + <Entry auxiliarySpeed="4245" mechanicalPower="4" supplyPower="2.57"/> + <Entry auxiliarySpeed="4245" mechanicalPower="4.47" supplyPower="2.79"/> + <Entry auxiliarySpeed="4245" mechanicalPower="4.94" supplyPower="3"/> + <Entry auxiliarySpeed="4716" mechanicalPower="0.12" supplyPower="0"/> + <Entry auxiliarySpeed="4716" mechanicalPower="0.97" supplyPower="0.56"/> + <Entry auxiliarySpeed="4716" mechanicalPower="1.11" supplyPower="0.67"/> + <Entry auxiliarySpeed="4716" mechanicalPower="1.32" supplyPower="0.84"/> + <Entry auxiliarySpeed="4716" mechanicalPower="1.91" supplyPower="1.29"/> + <Entry auxiliarySpeed="4716" mechanicalPower="2.96" supplyPower="1.99"/> + <Entry auxiliarySpeed="4716" mechanicalPower="3.46" supplyPower="2.27"/> + <Entry auxiliarySpeed="4716" mechanicalPower="4" supplyPower="2.56"/> + <Entry auxiliarySpeed="4716" mechanicalPower="4.52" supplyPower="2.81"/> + <Entry auxiliarySpeed="4716" mechanicalPower="4.97" supplyPower="3"/> + <Entry auxiliarySpeed="4716" mechanicalPower="5.12" supplyPower="3.08"/> + <Entry auxiliarySpeed="5188" mechanicalPower="0.14" supplyPower="0"/> + <Entry auxiliarySpeed="5188" mechanicalPower="1.08" supplyPower="0.62"/> + <Entry auxiliarySpeed="5188" mechanicalPower="1.21" supplyPower="0.73"/> + <Entry auxiliarySpeed="5188" mechanicalPower="1.47" supplyPower="0.93"/> + <Entry auxiliarySpeed="5188" mechanicalPower="2.89" supplyPower="1.92"/> + <Entry auxiliarySpeed="5188" mechanicalPower="3.45" supplyPower="2.25"/> + <Entry auxiliarySpeed="5188" mechanicalPower="3.99" supplyPower="2.54"/> + <Entry auxiliarySpeed="5188" mechanicalPower="4.54" supplyPower="2.82"/> + <Entry auxiliarySpeed="5188" mechanicalPower="4.98" supplyPower="3"/> + <Entry auxiliarySpeed="5188" mechanicalPower="5.19" supplyPower="3.11"/> + <Entry auxiliarySpeed="5660" mechanicalPower="0.17" supplyPower="0"/> + <Entry auxiliarySpeed="5660" mechanicalPower="1.19" supplyPower="0.67"/> + <Entry auxiliarySpeed="5660" mechanicalPower="1.32" supplyPower="0.79"/> + <Entry auxiliarySpeed="5660" mechanicalPower="1.69" supplyPower="1.07"/> + <Entry auxiliarySpeed="5660" mechanicalPower="2.54" supplyPower="1.66"/> + <Entry auxiliarySpeed="5660" mechanicalPower="3.37" supplyPower="2.18"/> + <Entry auxiliarySpeed="5660" mechanicalPower="3.98" supplyPower="2.52"/> + <Entry auxiliarySpeed="5660" mechanicalPower="4.55" supplyPower="2.8"/> + <Entry auxiliarySpeed="5660" mechanicalPower="5.02" supplyPower="3.01"/> + <Entry auxiliarySpeed="5660" mechanicalPower="5.27" supplyPower="3.14"/> + <Entry auxiliarySpeed="6131" mechanicalPower="0.19" supplyPower="0"/> + <Entry auxiliarySpeed="6131" mechanicalPower="1.28" supplyPower="0.72"/> + <Entry auxiliarySpeed="6131" mechanicalPower="1.49" supplyPower="0.88"/> + <Entry auxiliarySpeed="6131" mechanicalPower="2.15" supplyPower="1.37"/> + <Entry auxiliarySpeed="6131" mechanicalPower="3.19" supplyPower="2.04"/> + <Entry auxiliarySpeed="6131" mechanicalPower="3.92" supplyPower="2.46"/> + <Entry auxiliarySpeed="6131" mechanicalPower="4.48" supplyPower="2.75"/> + <Entry auxiliarySpeed="6131" mechanicalPower="5.44" supplyPower="3.16"/> + <Entry auxiliarySpeed="6603" mechanicalPower="0.22" supplyPower="0"/> + <Entry auxiliarySpeed="6603" mechanicalPower="1.42" supplyPower="0.79"/> + <Entry auxiliarySpeed="6603" mechanicalPower="1.81" supplyPower="1.08"/> + <Entry auxiliarySpeed="6603" mechanicalPower="2.92" supplyPower="1.84"/> + <Entry auxiliarySpeed="6603" mechanicalPower="3.75" supplyPower="2.33"/> + <Entry auxiliarySpeed="6603" mechanicalPower="4.38" supplyPower="2.66"/> + <Entry auxiliarySpeed="6603" mechanicalPower="4.94" supplyPower="2.92"/> + <Entry auxiliarySpeed="6603" mechanicalPower="5.51" supplyPower="3.19"/> + <Entry auxiliarySpeed="7075" mechanicalPower="0.25" supplyPower="0"/> + <Entry auxiliarySpeed="7075" mechanicalPower="1.63" supplyPower="0.91"/> + <Entry auxiliarySpeed="7075" mechanicalPower="2.35" supplyPower="1.43"/> + <Entry auxiliarySpeed="7075" mechanicalPower="3.43" supplyPower="2.1"/> + <Entry auxiliarySpeed="7075" mechanicalPower="4.24" supplyPower="2.55"/> + <Entry auxiliarySpeed="7075" mechanicalPower="4.82" supplyPower="2.83"/> + <Entry auxiliarySpeed="7075" mechanicalPower="5.54" supplyPower="3.19"/> + <Entry auxiliarySpeed="7546" mechanicalPower="0.28" supplyPower="0"/> + <Entry auxiliarySpeed="7546" mechanicalPower="1.93" supplyPower="1.09"/> + <Entry auxiliarySpeed="7546" mechanicalPower="3.04" supplyPower="1.82"/> + <Entry auxiliarySpeed="7546" mechanicalPower="4.09" supplyPower="2.43"/> + <Entry auxiliarySpeed="7546" mechanicalPower="4.69" supplyPower="2.73"/> + <Entry auxiliarySpeed="7546" mechanicalPower="5.7" supplyPower="3.19"/> + <Entry auxiliarySpeed="9150" mechanicalPower="0.42" supplyPower="0"/> + <Entry auxiliarySpeed="9150" mechanicalPower="5.74" supplyPower="3.19"/> + <Entry auxiliarySpeed="12000" mechanicalPower="0.42" supplyPower="0"/> + <Entry auxiliarySpeed="12000" mechanicalPower="5.74" supplyPower="3.19"/> + </AuxMap> + </Auxiliary> + <Auxiliary id="FAN"> + <Resource type="csv" file="dummy.vaux"/> + </Auxiliary> + </Data> + </Auxiliaries> + <AirDrag> + <Data> + <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> + <Model>Generic 40t Long Haul Truck Gearbox</Model> + <Creator>Markus Quaritsch, TUG IVT</Creator> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <CrossWindCorrectionMode>No Correction</CrossWindCorrectionMode> + <CdxA>6.29</CdxA> + </Data> + </AirDrag> + </Components> </Vehicle> </tns:VectoComponentEngineering> diff --git a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs index 7d22f05116d87dc54b1d76710ced74d0ebc48b8b..7a9d507cebb9c3e2f92f1812ee010aa51080fc1d 100644 --- a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs +++ b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs @@ -57,13 +57,13 @@ namespace TUGraz.VectoCore.Tests.Utils var dao = new DeclarationDataAdapter(); var engineData = dao.CreateEngineData(engineInput, null, gearboxInput, new List<ITorqueLimitInputData>()); return dao.CreateGearboxData(gearboxInput, engineData, ((IAxleGearInputData)gearboxInput).Ratio, 0.5.SI<Meter>(), - VehicleCategory.RigidTruck); + VehicleCategory.RigidTruck, (ITorqueConverterDeclarationInputData)gearboxInput); } else { var dao = new EngineeringDataAdapter(); - var engineData = dao.CreateEngineData(engineInput, gearboxInput, new List<ITorqueLimitInputData>()); + var engineData = dao.CreateEngineData(engineInput, gearboxInput, new List<ITorqueLimitInputData>(), (ITorqueConverterEngineeringInputData)gearboxInput); return dao.CreateGearboxData(gearboxInput, engineData, (IGearshiftEngineeringInputData)gearboxInput, ((IAxleGearInputData)gearboxInput).Ratio, 0.5.SI<Meter>(), - VehicleCategory.RigidTruck); + VehicleCategory.RigidTruck, (ITorqueConverterEngineeringInputData)gearboxInput); } } @@ -84,7 +84,7 @@ namespace TUGraz.VectoCore.Tests.Utils { var dao = new EngineeringDataAdapter(); var engineInput = JSONInputDataFactory.ReadEngine(engineFile); - var engineData = dao.CreateEngineData(engineInput, null, new List<ITorqueLimitInputData>()); + var engineData = dao.CreateEngineData(engineInput, null, new List<ITorqueLimitInputData>(), null); for (uint i = 1; i <= numGears; i++) { engineData.FullLoadCurves[i] = engineData.FullLoadCurves[0]; } diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index 4c2bf25cc694c43f016656fffe860fb3579dd91e..2bccef5ae2aea4ccbc8ae09989a76e9aebbdc954 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -2540,12 +2540,6 @@ <None Include="TestData\XML\XMLReaderEngineering\engine.vmap"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> - <None Include="TestData\XML\XMLReaderEngineering\engineering_job-sample.vsum"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="TestData\XML\XMLReaderEngineering\engineering_job-sample_ref.vsum"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> <None Include="TestData\XML\XMLReaderEngineering\GBX_DirectGear.vtlm"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> @@ -2972,6 +2966,9 @@ <Content Include="TestData\XML\XMLReaderEngineering\engineering_retarder-sample_ref.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="TestData\XML\XMLReaderEngineering\engineering_torqueconverter-sample_ref.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="TestData\XML\XMLReaderEngineering\engineering_vehicle_ref.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs index 55506ca91ad9ea99c2727b00301587331e4b96f2..5e286578728b92e120dbf80ca50230219c300e27 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs @@ -87,7 +87,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var engineDataProvider = inputDataProvider.JobInputData.Vehicle.Components.EngineInputData; @@ -150,7 +150,7 @@ namespace TUGraz.VectoCore.Tests.XML engineFuelType.SetValue(fuel); var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var fuelTyle = inputDataProvider.JobInputData.Vehicle.Components.EngineInputData.FuelType; Assert.AreEqual(fuel, fuelTyle.ToXMLFormat()); var tankSystem = fuelTyle == FuelType.NGPI || fuelTyle == FuelType.NGCI ? TankSystem.Liquefied : (TankSystem?)null; @@ -182,7 +182,7 @@ namespace TUGraz.VectoCore.Tests.XML engineFuelType.SetValue(fuel); var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var fuelTyle = inputDataProvider.JobInputData.Vehicle.Components.EngineInputData.FuelType; Assert.AreEqual(fuel, fuelTyle.ToXMLFormat()); AssertHelper.Exception<VectoException>( @@ -196,7 +196,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var gearboxDataProvider = inputDataProvider.JobInputData.Vehicle.Components.GearboxInputData; Assert.AreEqual("Generic 40t Long Haul Truck Gearbox", gearboxDataProvider.Model); @@ -222,7 +222,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var axlegearDataProvider = inputDataProvider.JobInputData.Vehicle.Components.AxleGearInputData; Assert.AreEqual("Generic 40t Long Haul Truck AxleGear", axlegearDataProvider.Model); @@ -246,7 +246,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var retarderDataProvider = inputDataProvider.JobInputData.Vehicle.Components.RetarderInputData; Assert.AreEqual("Generic Retarder", retarderDataProvider.Model); @@ -268,7 +268,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var vehicleDataProvider = inputDataProvider.JobInputData.Vehicle; var axles = vehicleDataProvider.Components.AxleWheels.AxlesDeclaration; @@ -313,7 +313,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var vehicleDataProvider = inputDataProvider.JobInputData.Vehicle; AssertHelper.Exception<VectoException>(() => { @@ -350,7 +350,7 @@ namespace TUGraz.VectoCore.Tests.XML AssertHelper.Exception<VectoException>( () => { - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); }); } @@ -382,7 +382,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var vehicleDataProvider = inputDataProvider.JobInputData.Vehicle; AssertHelper.Exception<VectoException>(() => { @@ -395,7 +395,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var auxDataProvider = inputDataProvider.JobInputData.Vehicle.Components.AuxiliaryInputData; var aux = auxDataProvider.Auxiliaries; @@ -415,7 +415,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var vehicleDataProvider = inputDataProvider.JobInputData.Vehicle; @@ -434,7 +434,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleDeclNoAirdrag); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); Assert.IsNull(inputDataProvider.JobInputData.Vehicle.Components.AirdragInputData.AirDragArea); } @@ -449,7 +449,7 @@ namespace TUGraz.VectoCore.Tests.XML var sumWriter = new FileOutputWriter("vecto_vehicle-sample_xml"); var sumData = new SummaryDataContainer(sumWriter); var jobContainer = new JobContainer(sumData); - var dataProvider = xmlInputReader.CreateDeclaration(reader, true); + var dataProvider = xmlInputReader.CreateDeclaration(reader); var runsFactory = new SimulatorFactory(ExecutionMode.Declaration, dataProvider, fileWriter); runsFactory.WriteModalResults = true; @@ -464,7 +464,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleFullDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var tcDataProvider = inputDataProvider.JobInputData.Vehicle.Components.TorqueConverterInputData; @@ -479,7 +479,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleFullDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var angledriveDataProvider = inputDataProvider.JobInputData.Vehicle.Components.AngledriveInputData; @@ -498,7 +498,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleFullDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var vehicleDataProvider = inputDataProvider.JobInputData.Vehicle; Assert.AreEqual(VehicleCategory.Tractor, vehicleDataProvider.VehicleCategory); @@ -516,7 +516,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleFullDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var vehicleDataProvider = inputDataProvider.JobInputData.Vehicle; var torqueLimits = vehicleDataProvider.TorqueLimits.OrderBy(x => x.Gear).ToList(); @@ -531,7 +531,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleFullDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var gearboxDataProvider = inputDataProvider.JobInputData.Vehicle.Components.GearboxInputData; var gears = gearboxDataProvider.Gears; @@ -546,7 +546,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleFullDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var gearboxDataProvider = inputDataProvider.JobInputData.Vehicle.Components.GearboxInputData; var gears = gearboxDataProvider.Gears; @@ -576,7 +576,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); AssertHelper.Exception<VectoException>(() => { var tmp = inputDataProvider.JobInputData.Vehicle.Components.RetarderInputData.Ratio; @@ -610,7 +610,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var factory = new SimulatorFactory(ExecutionMode.Declaration, inputDataProvider, new FileOutputWriter("dummy")); var jobContainer = new JobContainer(null); @@ -642,7 +642,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); Assert.AreEqual(retarderType, inputDataProvider.JobInputData.Vehicle.Components.RetarderInputData.Type.ToXMLFormat()); } @@ -670,7 +670,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); Assert.AreEqual(axleConfiguration, inputDataProvider.JobInputData.Vehicle.AxleConfiguration.GetName()); } @@ -702,7 +702,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var vehCategory = inputDataProvider.JobInputData.Vehicle.VehicleCategory; Assert.AreEqual(vehicleCategory, vehCategory.ToXMLFormat()); @@ -737,8 +737,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, - true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var tyreDimension = inputDataProvider.JobInputData.Vehicle.Components.AxleWheels.AxlesDeclaration.First().Tyre.Dimension; Assert.AreEqual(wheelDimension, tyreDimension); @@ -792,8 +791,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, - true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); if (ptoGearWheel == "none") { Assert.AreEqual("None", @@ -836,8 +834,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, - true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); Assert.AreEqual(angleDrive, inputDataProvider.JobInputData.Vehicle.Components.AngledriveInputData.Type.ToXMLFormat()); } @@ -870,8 +867,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, - true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var gbxType = inputDataProvider.JobInputData.Vehicle.Components.GearboxInputData.Type; Assert.AreEqual(gearboxType, gbxType.ToXMLFormat()); @@ -884,7 +880,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var ptoDataProvider = inputDataProvider.JobInputData.Vehicle.Components.PTOTransmissionInputData; Assert.AreEqual("None", ptoDataProvider.PTOTransmissionType); @@ -895,7 +891,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleFullDecl); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var ptoDataProvider = inputDataProvider.JobInputData.Vehicle.Components.PTOTransmissionInputData; var lookup = DeclarationData.PTOTransmission.Lookup(ptoDataProvider.PTOTransmissionType); @@ -908,7 +904,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(SampleVehicleFullDeclCertificationOptions); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); Assert.AreEqual(CertificationMethod.Option2, inputDataProvider.JobInputData.Vehicle.Components.GearboxInputData.CertificationMethod); @@ -961,7 +957,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(file); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var vehicle = inputDataProvider.JobInputData.Vehicle; Assert.AreEqual(expectedExempted, vehicle.ExemptedVehicle); } @@ -972,7 +968,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(file); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var vehicle = inputDataProvider.JobInputData.Vehicle; Assert.IsTrue(vehicle.ExemptedVehicle); @@ -988,7 +984,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(file); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var vehicle = inputDataProvider.JobInputData.Vehicle; Assert.IsFalse(vehicle.ExemptedVehicle); @@ -1005,7 +1001,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = XmlReader.Create(file); - var inputDataProvider = xmlInputReader.CreateDeclaration(reader, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(reader); var vehicle = inputDataProvider.JobInputData.Vehicle; var adas = vehicle.ADAS; @@ -1039,7 +1035,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var vehCategory = inputDataProvider.JobInputData.Vehicle.VehicleCategory; @@ -1073,7 +1069,7 @@ namespace TUGraz.VectoCore.Tests.XML var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var fuelType = inputDataProvider.JobInputData.Vehicle.Components.EngineInputData.FuelType; @@ -1123,8 +1119,7 @@ namespace TUGraz.VectoCore.Tests.XML technology.SetValue(tech); var modified = XmlReader.Create(new StringReader(nav.OuterXml)); - var inputDataProvider = xmlInputReader.CreateDeclaration(modified, - true); + var inputDataProvider = xmlInputReader.CreateDeclaration(modified); var techInput = inputDataProvider.JobInputData.Vehicle.Components.AuxiliaryInputData.Auxiliaries.Where(x => x.Type == aux) .First().Technology.First(); Assert.AreEqual(tech, techInput); diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationReaderVersionsTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationReaderVersionsTest.cs index 5759470b00010a972f5273ada2ad0067f6f15eef..35c8a9c5b8a7fe34048b5a3f8cea6fcf9a5baaae 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationReaderVersionsTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationReaderVersionsTest.cs @@ -76,9 +76,15 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase(@"SchemaVersion2.2\Tractor_4x2_vehicle-class-5_5_t_0.xml")] public void TestReadingJobVersion_V22(string jobFile) { - var runs = ReadDeclarationJob(jobFile); + // does not work as the new tire dimension is not allowed in VECTO at the moment + //var runs = ReadDeclarationJob(jobFile); + + //Assert.AreEqual("235/60 R17 C", runs[0].GetContainer().RunData.VehicleData.AxleData[1].WheelsDimension); + + var filename = Path.Combine(@"TestData\XML\XMLReaderDeclaration", jobFile); + var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); + Assert.AreEqual("235/60 R17 C", dataProvider.JobInputData.Vehicle.Components.AxleWheels.AxlesDeclaration[1].Tyre.Dimension); - Assert.AreEqual("235/60 R17 C", runs[0].GetContainer().RunData.VehicleData.AxleData[1].WheelsDimension); } @@ -89,7 +95,7 @@ namespace TUGraz.VectoCore.Tests.XML var fileWriter = new FileOutputWriter(filename); //var sumWriter = new SummaryDataContainer(fileWriter); //var jobContainer = new JobContainer(sumWriter); - var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename), true); + var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); var runsFactory = new SimulatorFactory(ExecutionMode.Declaration, dataProvider, fileWriter) { ModalResults1Hz = false, WriteModalResults = false, diff --git a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs index 506c0b258c1e0e0424261aa1aee94eeed2d554f9..223d70b717d65d97a85b3dcb5e0477c1cf8233c7 100644 --- a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs @@ -73,14 +73,14 @@ namespace TUGraz.VectoCore.Tests.XML { AssertHelper.Exception<VectoException>(() => { var reader = File.OpenRead(EngineeringSampleFile); - var foo = xmlInputReader.CreateEngineering(reader, true); + var foo = xmlInputReader.CreateEngineering(reader); }); } [TestCase] public void TestXMLInputEngReferencedFile() { - var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); + var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); var engineDataProvider = inputDataProvider.JobInputData.Vehicle.Components.EngineInputData; @@ -116,7 +116,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase] public void TestXMLInputGbxReferencedFile() { - var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); + var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); var gearboxDataProvider = inputDataProvider.JobInputData.Vehicle.Components.GearboxInputData; Assert.AreEqual("Generic 40t Long Haul Truck Gearbox", gearboxDataProvider.Model); @@ -146,8 +146,8 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase] public void TestXMLInputGbxTCReferencedFile() { - var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); - var tcInputDataProvider = inputDataProvider.JobInputData.Vehicle.Components.GearboxInputData.TorqueConverter; + var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); + var tcInputDataProvider = inputDataProvider.JobInputData.Vehicle.Components.TorqueConverterInputData; Assert.AreEqual("GBX_ShiftPolygons.vgbs", Path.GetFileName(tcInputDataProvider.ShiftPolygon.Source)); @@ -164,7 +164,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase] public void TestXMLInputAngledriveReferencedFile() { - var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); + var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); var angledriveInputData = inputDataProvider.JobInputData.Vehicle.Components.AngledriveInputData; Assert.AreEqual("Generic Angledrive", angledriveInputData.Model); @@ -181,7 +181,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase] public void TestXMLInputAxlGReferencedFile() { - var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); + var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); var axlegearDataProvider = inputDataProvider.JobInputData.Vehicle.Components.AxleGearInputData; Assert.AreEqual("Generic 40t Long Haul Truck AxleGear", axlegearDataProvider.Model); @@ -198,7 +198,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase] public void TestXMLInputRetarderReferencedFile() { - var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); + var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); var retarderDataProvider = inputDataProvider.JobInputData.Vehicle.Components.RetarderInputData; Assert.AreEqual("Generic Retarder", retarderDataProvider.Model); @@ -216,7 +216,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase] public void TestXMLInputAxleWheelsReferencedFile() { - var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); + var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); var vehicleDataProvider = inputDataProvider.JobInputData.Vehicle; var axles = vehicleDataProvider.Components.AxleWheels.AxlesEngineering; @@ -238,7 +238,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase] public void TestXMLInputAuxiliariesReferencedFile() { - var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); + var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); var auxDataProvider = inputDataProvider.JobInputData.Vehicle.Components.AuxiliaryInputData; var aux = auxDataProvider.Auxiliaries; @@ -261,7 +261,7 @@ namespace TUGraz.VectoCore.Tests.XML { //var reader = XmlReader.Create(EngineeringSampleFile); - var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); + var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); var adas = inputDataProvider.DriverInputData; @@ -271,7 +271,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase] public void TestVehicleInputReferencedFile() { - var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); + var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); var vehicleDataProvider = inputDataProvider.JobInputData.Vehicle; @@ -295,7 +295,7 @@ namespace TUGraz.VectoCore.Tests.XML var sumWriter = new FileOutputWriter("vecto_vehicle-sample_xml"); var sumData = new SummaryDataContainer(sumWriter); var jobContainer = new JobContainer(sumData); - var dataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); + var dataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); var runsFactory = _kernel.Get<ISimulatorFactoryFactory>().Factory(ExecutionMode.Engineering, dataProvider, fileWriter); runsFactory.WriteModalResults = true; @@ -309,7 +309,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase] public void TestXMEngineering_DriverModelLACExt() { - var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); + var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); var driverDataProvider = inputDataProvider.DriverInputData; @@ -323,7 +323,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase] public void TestXMEngineering_PTO() { - var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile, true); + var inputDataProvider = xmlInputReader.CreateEngineering(EngineeringSampleFile); var ptoData = inputDataProvider.JobInputData.Vehicle.Components.PTOTransmissionInputData; diff --git a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs index a3008cc19dce2480748dc4da95c34e5dbd195828..f53762ea539ddcdc96a32cca0668f218896e48c1 100644 --- a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs @@ -84,7 +84,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFile); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var engineDataProvider = inputDataProvider.JobInputData.Vehicle.Components.EngineInputData; @@ -122,7 +122,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFile); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var gearboxDataProvider = inputDataProvider.JobInputData.Vehicle.Components.GearboxInputData; Assert.AreEqual("Generic 40t Long Haul Truck Gearbox", gearboxDataProvider.Model); @@ -151,7 +151,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFile); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var axlegearDataProvider = inputDataProvider.JobInputData.Vehicle.Components.AxleGearInputData; Assert.AreEqual("Generic 40t Long Haul Truck AxleGear", axlegearDataProvider.Model); @@ -190,7 +190,7 @@ namespace TUGraz.VectoCore.Tests.XML writer.Flush(); stream.Seek(0, SeekOrigin.Begin); - var inputDataProvider = XMLInputReader.CreateEngineering(stream, true); + var inputDataProvider = XMLInputReader.CreateEngineering(stream); var axleGear = inputDataProvider.JobInputData.Vehicle.Components.AxleGearInputData; Assert.AreEqual(0.9123, axleGear.Efficiency); @@ -201,7 +201,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFile); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var retarderDataProvider = inputDataProvider.JobInputData.Vehicle.Components.RetarderInputData; Assert.AreEqual("Generic Retarder", retarderDataProvider.Model); @@ -221,7 +221,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFile); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var vehicleDataProvider = inputDataProvider.JobInputData.Vehicle; var axles = vehicleDataProvider.Components.AxleWheels.AxlesEngineering; @@ -268,7 +268,7 @@ namespace TUGraz.VectoCore.Tests.XML writer.Flush(); stream.Seek(0, SeekOrigin.Begin); - var inputDataProvider = XMLInputReader.CreateEngineering(stream, true); + var inputDataProvider = XMLInputReader.CreateEngineering(stream); var vehicleDataProvider = inputDataProvider.JobInputData.Vehicle; @@ -305,7 +305,7 @@ namespace TUGraz.VectoCore.Tests.XML AssertHelper.Exception<VectoException>( () => { - var inputDataProvider = XMLInputReader.CreateEngineering(stream, true); + var inputDataProvider = XMLInputReader.CreateEngineering(stream); var axles = inputDataProvider.JobInputData.Vehicle.Components.AxleWheels.AxlesEngineering; }); } @@ -340,7 +340,7 @@ namespace TUGraz.VectoCore.Tests.XML AssertHelper.Exception<VectoException>( () => { - var inputDataProvider = XMLInputReader.CreateEngineering(stream, true); + var inputDataProvider = XMLInputReader.CreateEngineering(stream); var axles = inputDataProvider.JobInputData.Vehicle.Components.AxleWheels.AxlesEngineering; }); } @@ -350,7 +350,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFile); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var auxDataProvider = inputDataProvider.JobInputData.Vehicle.Components.AuxiliaryInputData; var aux = auxDataProvider.Auxiliaries; @@ -371,7 +371,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFile); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var adas = inputDataProvider.DriverInputData; @@ -381,7 +381,7 @@ namespace TUGraz.VectoCore.Tests.XML [TestCase] public void TestVehicleInputSingleFile() { - var inputDataProvider = XMLInputReader.CreateEngineering(EngineeringSampleFile, true); + var inputDataProvider = XMLInputReader.CreateEngineering(EngineeringSampleFile); var vehicleDataProvider = inputDataProvider.JobInputData.Vehicle; @@ -403,7 +403,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFile); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var driverDataProvider = inputDataProvider.DriverInputData; @@ -475,7 +475,7 @@ namespace TUGraz.VectoCore.Tests.XML writer.Flush(); stream.Seek(0, SeekOrigin.Begin); - var inputDataProvider = XMLInputReader.CreateEngineering(stream, true); + var inputDataProvider = XMLInputReader.CreateEngineering(stream); var driverDataProvider = inputDataProvider.DriverInputData; @@ -492,7 +492,7 @@ namespace TUGraz.VectoCore.Tests.XML var sumWriter = new FileOutputWriter("vecto_vehicle-sample_xml"); var sumData = new SummaryDataContainer(sumWriter); var jobContainer = new JobContainer(sumData); - var dataProvider = XMLInputReader.CreateEngineering(EngineeringSampleFile, true); + var dataProvider = XMLInputReader.CreateEngineering(EngineeringSampleFile); var runsFactory = _kernel.Get<ISimulatorFactoryFactory>().Factory(ExecutionMode.Engineering, dataProvider, fileWriter); runsFactory.WriteModalResults = true; @@ -507,7 +507,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFileFull); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var tcDataProvider = inputDataProvider.JobInputData.Vehicle.Components.TorqueConverterInputData; @@ -530,7 +530,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFileFull); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var angledriveDataProvider = inputDataProvider.JobInputData.Vehicle.Components.AngledriveInputData; @@ -545,7 +545,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFileFull); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var driverDataProvider = inputDataProvider.DriverInputData; @@ -598,7 +598,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFileFull); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var airdragData = inputDataProvider.JobInputData.Vehicle.Components.AirdragInputData; Assert.AreEqual(CrossWindCorrectionMode.SpeedDependentCorrectionFactor, airdragData.CrossWindCorrectionMode); @@ -612,7 +612,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFileFull); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var ptoData = inputDataProvider.JobInputData.Vehicle.Components.PTOTransmissionInputData; @@ -633,7 +633,7 @@ namespace TUGraz.VectoCore.Tests.XML { var reader = File.OpenRead(EngineeringSampleFileFull); - var inputDataProvider = XMLInputReader.CreateEngineering(reader, true); + var inputDataProvider = XMLInputReader.CreateEngineering(reader); var angledriveInputData = inputDataProvider.JobInputData.Vehicle.Components.AngledriveInputData; Assert.AreEqual("Generic Angledrive", angledriveInputData.Model); @@ -672,7 +672,7 @@ namespace TUGraz.VectoCore.Tests.XML writer.Flush(); stream.Seek(0, SeekOrigin.Begin); - var inputDataProvider = XMLInputReader.CreateEngineering(stream, true); + var inputDataProvider = XMLInputReader.CreateEngineering(stream); var angledrive = inputDataProvider.JobInputData.Vehicle.Components.AngledriveInputData; Assert.AreEqual(0.9124, angledrive.Efficiency); @@ -704,7 +704,7 @@ namespace TUGraz.VectoCore.Tests.XML writer.Flush(); stream.Seek(0, SeekOrigin.Begin); - var inputDataProvider = XMLInputReader.CreateEngineering(stream, true); + var inputDataProvider = XMLInputReader.CreateEngineering(stream); var auxInput = inputDataProvider.JobInputData.Vehicle.Components.AuxiliaryInputData.Auxiliaries; @@ -757,7 +757,7 @@ namespace TUGraz.VectoCore.Tests.XML writer.Flush(); stream.Seek(0, SeekOrigin.Begin); - var inputDataProvider = XMLInputReader.CreateEngineering(stream, true); + var inputDataProvider = XMLInputReader.CreateEngineering(stream); var factory = _kernel.Get<ISimulatorFactoryFactory>().Factory(ExecutionMode.Engineering, inputDataProvider, new FileOutputWriter("dummy")); var jobContainer = new JobContainer(null); @@ -786,7 +786,7 @@ namespace TUGraz.VectoCore.Tests.XML stream.Seek(0, SeekOrigin.Begin); AssertHelper.Exception<VectoException>( - () => { var inputDataProvider = XMLInputReader.CreateEngineering(stream, true); }); + () => { var inputDataProvider = XMLInputReader.CreateEngineering(stream); }); } @@ -817,7 +817,7 @@ namespace TUGraz.VectoCore.Tests.XML AssertHelper.Exception<VectoException>( () => { - var inputDataProvider = XMLInputReader.CreateEngineering(stream, true); + var inputDataProvider = XMLInputReader.CreateEngineering(stream); var cyclesList = inputDataProvider.JobInputData.Cycles; }); } @@ -847,7 +847,7 @@ namespace TUGraz.VectoCore.Tests.XML writer.Flush(); stream.Seek(0, SeekOrigin.Begin); - var inputDataProvider = XMLInputReader.CreateEngineering(stream, true); + var inputDataProvider = XMLInputReader.CreateEngineering(stream); var accelerationCurve = inputDataProvider.DriverInputData.AccelerationCurve; //Assert.AreEqual(DataSourceType.Missing, accelerationCurve.AccelerationCurve.SourceType); Assert.IsNull(accelerationCurve.AccelerationCurve); @@ -874,20 +874,22 @@ namespace TUGraz.VectoCore.Tests.XML writer.Flush(); stream.Seek(0, SeekOrigin.Begin); - var inputDataProvider = XMLInputReader.CreateEngineering(stream, false); - var lossmap = inputDataProvider.JobInputData.Vehicle.Components.AxleGearInputData.LossMap; - - Assert.IsNull(lossmap); + AssertHelper.Exception<VectoException>( + () => { + var inputDataProvider = XMLInputReader.CreateEngineering(stream); + var lossmap = inputDataProvider.JobInputData.Vehicle.Components.AxleGearInputData.LossMap; + }); + //Assert.IsNull(lossmap); - var eff = inputDataProvider.JobInputData.Vehicle.Components.AxleGearInputData.Efficiency; - Assert.IsNaN(eff); + //var eff = inputDataProvider.JobInputData.Vehicle.Components.AxleGearInputData.Efficiency; + //Assert.IsNaN(eff); } [TestCase] public void TestXMLInputEngineeringVersion1_0() { - var inputDataProvider = XMLInputReader.CreateEngineering(EngineeringSampleFile_10_Full, true); + var inputDataProvider = XMLInputReader.CreateEngineering(EngineeringSampleFile_10_Full); Assert.NotNull(inputDataProvider); @@ -905,7 +907,7 @@ namespace TUGraz.VectoCore.Tests.XML _kernel.Load(new XMLEngineeringReaderTestOverrides()); } - var inputDataProvider = XMLInputReader.CreateEngineering(EngineeringSampleFile_10TestExtensions_Full, true); + var inputDataProvider = XMLInputReader.CreateEngineering(EngineeringSampleFile_10TestExtensions_Full); Assert.NotNull(inputDataProvider); diff --git a/VectoCore/VectoCoreTest/XML/XMLReportTest.cs b/VectoCore/VectoCoreTest/XML/XMLReportTest.cs index 2f0066b9dafda5913382e47e3447033ebd56ec7c..2c4d0ef59bfa97583e0ce41d4b69cbe3880fc6cd 100644 --- a/VectoCore/VectoCoreTest/XML/XMLReportTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLReportTest.cs @@ -78,7 +78,7 @@ namespace TUGraz.VectoCore.Tests.XML var fileWriter = new FileOutputWriter(filename); var sumWriter = new SummaryDataContainer(fileWriter); var jobContainer = new JobContainer(sumWriter); - var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename), true); + var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); var runsFactory = new SimulatorFactory(ExecutionMode.Declaration, dataProvider, fileWriter) { ModalResults1Hz = false, WriteModalResults = false, diff --git a/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs b/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs index 21fad5b89f80f694ad58e2babf71e3eb54700164..3b3ae15e8784bf8fefab1bffa7d2ed48ffcf081b 100644 --- a/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs @@ -85,7 +85,7 @@ namespace TUGraz.VectoCore.Tests.XML job.Save(outFile); //var reader = XmlReader.Create(outFile); - var xml = xmlInputReader.CreateEngineering(outFile, true); + var xml = xmlInputReader.CreateEngineering(outFile); Assert.IsNotNull(xml); Assert.AreEqual("175kW 6.8l Engine", xml.JobInputData.JobName); @@ -101,7 +101,7 @@ namespace TUGraz.VectoCore.Tests.XML var job = _kernel.Get<IXMLEngineeringWriter>().Write(inputData); job.Save(outFile); - var xml = xmlInputReader.CreateEngineering(outFile, true); + var xml = xmlInputReader.CreateEngineering(outFile); Assert.IsNotNull(xml); Assert.AreEqual("N.A. N/A", xml.JobInputData.JobName); @@ -117,7 +117,7 @@ namespace TUGraz.VectoCore.Tests.XML var job = _kernel.Get<IXMLEngineeringWriter>().Write(inputData); job.Save(outFile); - var xml = xmlInputReader.CreateEngineering(outFile, true); + var xml = xmlInputReader.CreateEngineering(outFile); Assert.IsNotNull(xml); Assert.AreEqual("N.A. N/A", xml.JobInputData.JobName); @@ -135,7 +135,7 @@ namespace TUGraz.VectoCore.Tests.XML var job = _kernel.Get<IXMLEngineeringWriter>().Write(inputData); job.Save(Path.Combine(outDir, outFile)); - var xml = xmlInputReader.CreateEngineering(Path.Combine(outDir, outFile), true); + var xml = xmlInputReader.CreateEngineering(Path.Combine(outDir, outFile)); Assert.IsNotNull(xml); Assert.AreEqual("N.A. N/A", xml.JobInputData.JobName); @@ -172,7 +172,7 @@ namespace TUGraz.VectoCore.Tests.XML job.Save(outputFile); var reader = XmlReader.Create(outputFile); - var xml = xmlInputReader.CreateDeclaration(reader, true); + var xml = xmlInputReader.CreateDeclaration(reader); Assert.IsNotNull(xml); Assert.AreEqual("VEH-N.A.", xml.JobInputData.JobName); @@ -194,7 +194,7 @@ namespace TUGraz.VectoCore.Tests.XML job.Save(outputFile); var reader = XmlReader.Create(outputFile); - var xml = xmlInputReader.CreateDeclaration(reader, true); + var xml = xmlInputReader.CreateDeclaration(reader); Assert.IsNotNull(xml); Assert.AreEqual("VEH-N.A.", xml.JobInputData.JobName); diff --git a/VectoCore/VectoXML.spp b/VectoCore/VectoXML.spp index d36050dd064042f0f5a1350b747edc7ecc6f1265..6cf9f32946ef3e0a66c2415dad7c1aebdc9fd9cd 100644 --- a/VectoCore/VectoXML.spp +++ b/VectoCore/VectoXML.spp @@ -1,30 +1,52 @@ <?xml version="1.0" encoding="UTF-8"?> <Project> <Folder FolderName="XML Files" ExtStr="xml;cml;math;rdf;smil;svg;wml"> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_axlegear-sample_ref.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_engine-sample_ref.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_gearbox-sample_ref.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_job-engine_only-sample_ref.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_job-sample.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_job-sample_FULL.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_job-sample_ref.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_retarder-sample_ref.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_vehicle_ref.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample Encoding ISO 8859-15.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample Encoding UTF-16 BE BOM.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample Encoding UTF-16 LE.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample Encoding UTF-8 BOM.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample Encoding UTF-8.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample Encoding windows-1292.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\vecto_engine-sample.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample_Whitespaces.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\vecto_gearbox-sample.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\vecto_vehicle-sample.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\vecto_vehicle-sample_exempted.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\vecto_vehicle-sample_FULL.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_vehicle-sample_FULL_Entry_Order.xml" HomeFolder="Yes"/> - <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\vecto_vehicle-sample_FULL_updated.xml" HomeFolder="Yes"/> - <ExtMountFolder FolderName="VectoCore\Resources\XSD\Examples"/> + <Folder FolderName="Schema 2.0"> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.0\Tractor_4x2_vehicle-class-5_5_t_0.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.0\vecto_engine-sample.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.0\vecto_tyre-sample.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.0\vecto_vehicle-components_1.0.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.0\vecto_vehicle-new_parameters-sample.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.0\vecto_vehicle-sample_LNG.xml" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="Examples 1.0"> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_axlegear-sample_ref.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_engine-sample_ref.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_gearbox-sample_ref.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_job-engine_only-sample_ref.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_job-sample.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_job-sample_FULL.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_job-sample_ref.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_retarder-sample_ref.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_vehicle_ref.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample Encoding ISO 8859-15.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample Encoding UTF-16 BE BOM.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample Encoding UTF-16 LE.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample Encoding UTF-8 BOM.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample Encoding UTF-8.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample Encoding windows-1292.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\vecto_engine-sample.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_engine-sample_Whitespaces.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\vecto_gearbox-sample.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\vecto_vehicle-sample.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\vecto_vehicle-sample_exempted.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\vecto_vehicle-sample_FULL.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\Hashing\vecto_vehicle-sample_FULL_Entry_Order.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderDeclaration\vecto_vehicle-sample_FULL_updated.xml" HomeFolder="Yes"/> + </Folder> + <Folder FolderName="EngineeringExamples"> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_axlegear-sample_ref.xml"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_engine-sample_ref.xml"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_gearbox-sample_ref.xml"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_job-engine_only-sample_ref.xml"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_job-sample.xml"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_job-sample_FULL.xml"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_job-sample_ref.xml"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_retarder-sample_ref.xml"/> + <File FilePath="VectoCoreTest\TestData\XML\XMLReaderEngineering\engineering_vehicle_ref.xml"/> + <File FilePath="VectoCoreTest\TestData\XML\EngineeringJob\SampleJobEngineering1.0.xml" HomeFolder="Yes"/> + <File FilePath="VectoCoreTest\TestData\XML\EngineeringJob\SampleJobEngineering1.1.xml" HomeFolder="Yes"/> + </Folder> </Folder> <Folder FolderName="XSL Files" ExtStr="xsl;xslt"> <File FilePath="E:\QUAM\Workspace\VECTO_quam\Documentation\XML\RenderTable.xslt" HomeFolder="Yes"/> @@ -59,8 +81,9 @@ <File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.1.0.TEST.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.1.0.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.xsd" HomeFolder="Yes"/> + <File FilePath="VectoCore\Resources\XSD\VectoEngineeringInput.0.7.xsd" HomeFolder="Yes"/> <File FilePath="VectoCore\Resources\XSD\VectoEngineeringInput.1.0.xsd" HomeFolder="Yes"/> - <File FilePath="VectoCore\Resources\XSD\VectoEngineeringInput.xsd" HomeFolder="Yes"/> + <File FilePath="VectoCore\Resources\XSD\VectoEngineeringJob.xsd" HomeFolder="Yes"/> </Folder> <Folder FolderName="Reports"> <File FilePath="VectoCore\Resources\XSD\VectoMonitoring.0.7.xsd" HomeFolder="Yes"/>