Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit d955b84d authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

cherry pick d715f6

parent 3bd99a57
No related branches found
No related tags found
No related merge requests found
......@@ -58,4 +58,4 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
get { return ElementExists(XMLNames.AirDrag_DeclaredCdxA) ? GetDoubleElementValue(XMLNames.AirDrag_DeclaredCdxA).SI<SquareMeter>() : null; }
}
}
}
\ No newline at end of file
}
......@@ -29,95 +29,95 @@
* Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
*/
using System;
using System.Collections.Generic;
using System.Xml;
using TUGraz.IVT.VectoXML;
using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCommon.Resources;
using TUGraz.VectoCommon.Utils;
using TUGraz.VectoCore.InputData.Impl;
namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
{
public class XMLDeclarationGearboxDataProvider : AbstractDeclarationXMLComponentDataProvider,
IGearboxDeclarationInputData
{
public XMLDeclarationGearboxDataProvider(XMLDeclarationInputDataProvider xmlInputDataProvider)
: base(xmlInputDataProvider)
{
XBasePath = Helper.Query(VehiclePath,
XMLNames.Vehicle_Components,
XMLNames.Component_Gearbox,
XMLNames.ComponentDataWrapper);
}
public new CertificationMethod CertificationMethod
{
get { return GetElementValue(XMLNames.Component_Gearbox_CertificationMethod).ParseEnum<CertificationMethod>(); }
}
public GearboxType Type
{
get {
var value = GetElementValue(XMLNames.Gearbox_TransmissionType);
switch (value) {
case "MT":
case "SMT":
return GearboxType.MT;
case "AMT":
return GearboxType.AMT;
case "APT-S":
case "AT - Serial":
return GearboxType.ATSerial;
case "APT-P":
case "AT - PowerSplit":
return GearboxType.ATPowerSplit;
}
throw new ArgumentOutOfRangeException("GearboxType", value);
}
}
public IList<ITransmissionInputData> Gears
{
get {
var retVal = new List<ITransmissionInputData>();
var gears = Navigator.Select(
Helper.Query(XBasePath, XMLNames.Gearbox_Gears, XMLNames.Gearbox_Gears_Gear),
Manager);
while (gears.MoveNext()) {
var gear = gears.Current.GetAttribute(XMLNames.Gearbox_Gear_GearNumber_Attr, "");
retVal.Add(ReadGear(gear));
}
return retVal;
}
}
public ITorqueConverterDeclarationInputData TorqueConverter
{
get {
return new XMLDeclarationTorqueConverterDataProvider(InputData);
}
}
protected ITransmissionInputData ReadGear(string gearNr)
{
var retVal = new TransmissionInputData();
var gearPath = Helper.Query(XMLNames.Gearbox_Gears,
Helper.QueryConstraint(XMLNames.Gearbox_Gears_Gear, XMLNames.Gearbox_Gear_GearNumber_Attr, gearNr));
retVal.Ratio = GetDoubleElementValue(Helper.Query(gearPath, XMLNames.Gearbox_Gear_Ratio));
retVal.Gear = XmlConvert.ToUInt16(gearNr);
retVal.LossMap = ReadTableData(AttributeMappings.TransmissionLossmapMapping,
Helper.Query(gearPath, XMLNames.Gearbox_Gear_TorqueLossMap, XMLNames.Gearbox_Gear_TorqueLossMap_Entry));
if (ElementExists(Helper.Query(gearPath, XMLNames.Gearbox_Gears_MaxTorque))) {
retVal.MaxTorque = GetDoubleElementValue(Helper.Query(gearPath, XMLNames.Gearbox_Gears_MaxTorque)).SI<NewtonMeter>();
}
if (ElementExists(Helper.Query(gearPath, XMLNames.Gearbox_Gear_MaxSpeed))) {
retVal.MaxInputSpeed = GetDoubleElementValue(Helper.Query(gearPath, XMLNames.Gearbox_Gear_MaxSpeed)).RPMtoRad();
}
return retVal;
}
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Xml;
using TUGraz.IVT.VectoXML;
using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCommon.Resources;
using TUGraz.VectoCommon.Utils;
using TUGraz.VectoCore.InputData.Impl;
namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
{
public class XMLDeclarationGearboxDataProvider : AbstractDeclarationXMLComponentDataProvider,
IGearboxDeclarationInputData
{
public XMLDeclarationGearboxDataProvider(XMLDeclarationInputDataProvider xmlInputDataProvider)
: base(xmlInputDataProvider)
{
XBasePath = Helper.Query(VehiclePath,
XMLNames.Vehicle_Components,
XMLNames.Component_Gearbox,
XMLNames.ComponentDataWrapper);
}
public new CertificationMethod CertificationMethod
{
get { return GetElementValue(XMLNames.Component_Gearbox_CertificationMethod).ParseEnum<CertificationMethod>(); }
}
public GearboxType Type
{
get {
var value = GetElementValue(XMLNames.Gearbox_TransmissionType);
switch (value) {
case "MT":
case "SMT":
return GearboxType.MT;
case "AMT":
return GearboxType.AMT;
case "APT-S":
case "AT - Serial":
return GearboxType.ATSerial;
case "APT-P":
case "AT - PowerSplit":
return GearboxType.ATPowerSplit;
}
throw new ArgumentOutOfRangeException("GearboxType", value);
}
}
public IList<ITransmissionInputData> Gears
{
get {
var retVal = new List<ITransmissionInputData>();
var gears = Navigator.Select(
Helper.Query(XBasePath, XMLNames.Gearbox_Gears, XMLNames.Gearbox_Gears_Gear),
Manager);
while (gears.MoveNext()) {
var gear = gears.Current.GetAttribute(XMLNames.Gearbox_Gear_GearNumber_Attr, "");
retVal.Add(ReadGear(gear));
}
return retVal;
}
}
public ITorqueConverterDeclarationInputData TorqueConverter
{
get {
return new XMLDeclarationTorqueConverterDataProvider(InputData);
}
}
protected ITransmissionInputData ReadGear(string gearNr)
{
var retVal = new TransmissionInputData();
var gearPath = Helper.Query(XMLNames.Gearbox_Gears,
Helper.QueryConstraint(XMLNames.Gearbox_Gears_Gear, XMLNames.Gearbox_Gear_GearNumber_Attr, gearNr));
retVal.Ratio = GetDoubleElementValue(Helper.Query(gearPath, XMLNames.Gearbox_Gear_Ratio));
retVal.Gear = XmlConvert.ToUInt16(gearNr);
retVal.LossMap = ReadTableData(AttributeMappings.TransmissionLossmapMapping,
Helper.Query(gearPath, XMLNames.Gearbox_Gear_TorqueLossMap, XMLNames.Gearbox_Gear_TorqueLossMap_Entry));
if (ElementExists(Helper.Query(gearPath, XMLNames.Gearbox_Gears_MaxTorque))) {
retVal.MaxTorque = GetDoubleElementValue(Helper.Query(gearPath, XMLNames.Gearbox_Gears_MaxTorque)).SI<NewtonMeter>();
}
if (ElementExists(Helper.Query(gearPath, XMLNames.Gearbox_Gear_MaxSpeed))) {
retVal.MaxInputSpeed = GetDoubleElementValue(Helper.Query(gearPath, XMLNames.Gearbox_Gear_MaxSpeed)).RPMtoRad();
}
return retVal;
}
}
}
......@@ -32,6 +32,7 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using TUGraz.VectoCommon.Exceptions;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCommon.Utils;
......@@ -56,7 +57,10 @@ namespace TUGraz.VectoCore.Models.Declaration
protected static DataTable ReadCsvResource(string resourceId)
{
return VectoCSVFile.ReadStream(RessourceHelper.ReadStream(resourceId), source: resourceId);
//return VectoCSVFile.ReadStream(RessourceHelper.ReadStream(resourceId), source: resourceId);
return
VectoCSVFile.Read(Path.Combine("Declaration",
resourceId.Replace(DeclarationData.DeclarationDataResourcePrefix + ".", "")));
}
protected static void NormalizeTable(DataTable table)
......@@ -116,4 +120,4 @@ namespace TUGraz.VectoCore.Models.Declaration
{
public abstract TValue Lookup(TKey1 key1, TKey2 key2, TKey3 key3, TKey4 key4);
}
}
\ No newline at end of file
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment