diff --git a/Documentation/User Manual/5-input-and-output-files/VVEH.md b/Documentation/User Manual/5-input-and-output-files/VVEH.md index b5e832bf74b381680b7b9fb6d10b3c984d203132..56e0ecf7458e38e510b0ae74ab5b13e64b417b72 100644 --- a/Documentation/User Manual/5-input-and-output-files/VVEH.md +++ b/Documentation/User Manual/5-input-and-output-files/VVEH.md @@ -9,7 +9,7 @@ Refers to other files: * [Cross Wind Correction (VCDV, VCDB)](#cross-wind-correction) * [Retarder Loss Map (VRLM)](#retarder-loss-torque-input-file-.vrlm) - +* [Transmission Loss Map (for AngularGear) (VTLM)](#transmission-loss-map) **Example:** @@ -38,6 +38,11 @@ Refers to other files: "Ratio": 1.0, "File": "Retarder.vrlm" }, + "AngularGear": { + "Type" : "Separate", + "Ratio": 1.0, + "LossMap": "AngleGear.vtlm" + }, "AxleConfig": { "Type": "4x2", "Axles": [ diff --git a/Generic Vehicles/Declaration Mode/40t Long Haul Truck/40t_Long_Haul_Truck.vveh b/Generic Vehicles/Declaration Mode/40t Long Haul Truck/40t_Long_Haul_Truck.vveh index b292f7ecb61b4c26ab91c7f0d65074c1d0630597..f48fb7f645e6f79dca0c015a4a8ba322be8da286 100644 --- a/Generic Vehicles/Declaration Mode/40t Long Haul Truck/40t_Long_Haul_Truck.vveh +++ b/Generic Vehicles/Declaration Mode/40t Long Haul Truck/40t_Long_Haul_Truck.vveh @@ -1,8 +1,8 @@ { "Header": { - "CreatedBy": "Raphael Luz IVT TU-Graz (14fea510-e457-4bf6-860f-a9514dc327f1)", - "Date": "02.07.2015 13:55:39", - "AppVersion": "2.2 beta-2", + "CreatedBy": " ()", + "Date": "11.07.2016 17:58:02", + "AppVersion": "2.2", "FileVersion": 7 }, "Body": { @@ -13,6 +13,7 @@ "Loading": 0.0, "MassMax": 40.0, "CdA": 6.2985, + "CdA2": 6.2985, "rdyn": 488.2675, "Rim": "5° DC Rims", "CdCorrMode": "CdOfVdecl", @@ -22,6 +23,11 @@ "Ratio": 1.0, "File": "Retarder.vrlm" }, + "AngularGear": { + "Type": "None", + "Ratio": 0.0, + "LossMap": "<NOFILE>" + }, "AxleConfig": { "Type": "4x2", "Axles": [ diff --git a/VECTO/GUI/F_MAINForm.vb b/VECTO/GUI/F_MAINForm.vb index 2b9b370babfda0cdd6e80da84c33bc398ee90709..2dd4bd2df39f1a09775176e220075dcbd9f90fe3 100644 --- a/VECTO/GUI/F_MAINForm.vb +++ b/VECTO/GUI/F_MAINForm.vb @@ -1,4 +1,4 @@ -' +' ' This file is part of VECTO. ' ' Copyright © 2012-2016 European Union @@ -766,7 +766,7 @@ Public Class F_MAINForm If F_VEH.WindowState = FormWindowState.Minimized Then F_VEH.WindowState = FormWindowState.Normal F_VEH.BringToFront() End If - F_VEH.openVEH(File) + F_VEH.OpenVehicle(File) Case ".VENG" If Not F_ENG.Visible Then F_ENG.Show() diff --git a/VECTO/GUI/F_VECTO.vb b/VECTO/GUI/F_VECTO.vb index 90eba9275e25cc27753b910fbbb551d3feb89e70..e751fcbb255e5605034cd3c66ec3e3f6bdd6fef1 100644 --- a/VECTO/GUI/F_VECTO.vb +++ b/VECTO/GUI/F_VECTO.vb @@ -246,7 +246,7 @@ Public Class F_VECTO F_VEH.BringToFront() End If - If Not Trim(f) = "" Then F_VEH.openVEH(f) + If Not Trim(f) = "" Then F_VEH.OpenVehicle(f) End Sub 'Open Engine Editor diff --git a/VECTO/GUI/F_VEH.Designer.vb b/VECTO/GUI/F_VEH.Designer.vb index 714812e65d6d55f682be377ef4fca402b83847e6..e4a1433afb9e08843601a2163ed0000729d301d2 100644 --- a/VECTO/GUI/F_VEH.Designer.vb +++ b/VECTO/GUI/F_VEH.Designer.vb @@ -109,6 +109,14 @@ Partial Class F_VEH Me.OpenWithToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ShowInFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.PnAll = New System.Windows.Forms.Panel() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.Label4 = New System.Windows.Forms.Label() + Me.Label10 = New System.Windows.Forms.Label() + Me.tbAngularGearRatio = New System.Windows.Forms.TextBox() + Me.btAngularGearLossMapBrowse = New System.Windows.Forms.Button() + Me.tbAngularGearLossMapPath = New System.Windows.Forms.TextBox() + Me.cbAngularGearType = New System.Windows.Forms.ComboBox() Me.PicVehicle = New System.Windows.Forms.PictureBox() Me.Label8 = New System.Windows.Forms.Label() Me.GroupBox6.SuspendLayout() @@ -125,6 +133,8 @@ Partial Class F_VEH CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() Me.CmOpenFile.SuspendLayout() Me.PnAll.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.Panel1.SuspendLayout() CType(Me.PicVehicle, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' @@ -195,7 +205,7 @@ Partial Class F_VEH 'ButOK ' Me.ButOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ButOK.Location = New System.Drawing.Point(394, 693) + Me.ButOK.Location = New System.Drawing.Point(421, 721) Me.ButOK.Name = "ButOK" Me.ButOK.Size = New System.Drawing.Size(75, 23) Me.ButOK.TabIndex = 5 @@ -206,7 +216,7 @@ Partial Class F_VEH ' Me.ButCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.ButCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel - Me.ButCancel.Location = New System.Drawing.Point(475, 693) + Me.ButCancel.Location = New System.Drawing.Point(502, 721) Me.ButCancel.Name = "ButCancel" Me.ButCancel.Size = New System.Drawing.Size(75, 23) Me.ButCancel.TabIndex = 6 @@ -216,7 +226,7 @@ Partial Class F_VEH 'Label14 ' Me.Label14.AutoSize = True - Me.Label14.Location = New System.Drawing.Point(235, 22) + Me.Label14.Location = New System.Drawing.Point(231, 22) Me.Label14.Name = "Label14" Me.Label14.Size = New System.Drawing.Size(25, 13) Me.Label14.TabIndex = 24 @@ -225,7 +235,7 @@ Partial Class F_VEH 'Label31 ' Me.Label31.AutoSize = True - Me.Label31.Location = New System.Drawing.Point(229, 31) + Me.Label31.Location = New System.Drawing.Point(225, 31) Me.Label31.Name = "Label31" Me.Label31.Size = New System.Drawing.Size(25, 13) Me.Label31.TabIndex = 24 @@ -234,7 +244,7 @@ Partial Class F_VEH 'Label35 ' Me.Label35.AutoSize = True - Me.Label35.Location = New System.Drawing.Point(172, 7) + Me.Label35.Location = New System.Drawing.Point(168, 7) Me.Label35.Name = "Label35" Me.Label35.Size = New System.Drawing.Size(29, 13) Me.Label35.TabIndex = 24 @@ -252,20 +262,24 @@ Partial Class F_VEH ' 'TbCdFile ' + Me.TbCdFile.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.TbCdFile.Enabled = False Me.TbCdFile.Location = New System.Drawing.Point(6, 46) Me.TbCdFile.Name = "TbCdFile" - Me.TbCdFile.Size = New System.Drawing.Size(459, 20) + Me.TbCdFile.Size = New System.Drawing.Size(504, 20) Me.TbCdFile.TabIndex = 1 ' 'BtCdFileBrowse ' + Me.BtCdFileBrowse.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.BtCdFileBrowse.Enabled = False - Me.BtCdFileBrowse.Location = New System.Drawing.Point(471, 44) + Me.BtCdFileBrowse.Image = Global.VECTO.My.Resources.Resources.Open_icon + Me.BtCdFileBrowse.Location = New System.Drawing.Point(510, 43) Me.BtCdFileBrowse.Name = "BtCdFileBrowse" - Me.BtCdFileBrowse.Size = New System.Drawing.Size(32, 23) + Me.BtCdFileBrowse.Size = New System.Drawing.Size(24, 24) Me.BtCdFileBrowse.TabIndex = 2 - Me.BtCdFileBrowse.Text = "..." Me.BtCdFileBrowse.UseVisualStyleBackColor = True ' 'GroupBox6 @@ -275,20 +289,21 @@ Partial Class F_VEH Me.GroupBox6.Controls.Add(Me.CbCdMode) Me.GroupBox6.Controls.Add(Me.BtCdFileBrowse) Me.GroupBox6.Controls.Add(Me.TbCdFile) - Me.GroupBox6.Location = New System.Drawing.Point(6, 432) + Me.GroupBox6.Location = New System.Drawing.Point(6, 444) Me.GroupBox6.Name = "GroupBox6" - Me.GroupBox6.Size = New System.Drawing.Size(538, 74) - Me.GroupBox6.TabIndex = 4 + Me.GroupBox6.Size = New System.Drawing.Size(562, 74) + Me.GroupBox6.TabIndex = 5 Me.GroupBox6.TabStop = False Me.GroupBox6.Text = "Cross Wind Correction" ' 'BtCdFileOpen ' + Me.BtCdFileOpen.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.BtCdFileOpen.Enabled = False Me.BtCdFileOpen.Image = Global.VECTO.My.Resources.Resources.application_export_icon_small - Me.BtCdFileOpen.Location = New System.Drawing.Point(509, 44) + Me.BtCdFileOpen.Location = New System.Drawing.Point(533, 43) Me.BtCdFileOpen.Name = "BtCdFileOpen" - Me.BtCdFileOpen.Size = New System.Drawing.Size(23, 23) + Me.BtCdFileOpen.Size = New System.Drawing.Size(24, 24) Me.BtCdFileOpen.TabIndex = 3 Me.BtCdFileOpen.TabStop = False Me.BtCdFileOpen.UseVisualStyleBackColor = True @@ -308,7 +323,7 @@ Partial Class F_VEH Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator3, Me.ToolStripBtSendTo, Me.ToolStripSeparator1, Me.ToolStripButton1}) Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) Me.ToolStrip1.Name = "ToolStrip1" - Me.ToolStrip1.Size = New System.Drawing.Size(562, 25) + Me.ToolStrip1.Size = New System.Drawing.Size(589, 25) Me.ToolStrip1.TabIndex = 29 Me.ToolStrip1.Text = "ToolStrip1" ' @@ -387,9 +402,9 @@ Partial Class F_VEH Me.GroupBox7.Controls.Add(Me.BtRtBrowse) Me.GroupBox7.Controls.Add(Me.TbRtPath) Me.GroupBox7.Controls.Add(Me.CbRtType) - Me.GroupBox7.Location = New System.Drawing.Point(6, 345) + Me.GroupBox7.Location = New System.Drawing.Point(6, 327) Me.GroupBox7.Name = "GroupBox7" - Me.GroupBox7.Size = New System.Drawing.Size(538, 81) + Me.GroupBox7.Size = New System.Drawing.Size(278, 111) Me.GroupBox7.TabIndex = 3 Me.GroupBox7.TabStop = False Me.GroupBox7.Text = "Retarder Losses" @@ -399,16 +414,16 @@ Partial Class F_VEH Me.PnRt.Controls.Add(Me.Label45) Me.PnRt.Controls.Add(Me.LbRtRatio) Me.PnRt.Controls.Add(Me.TbRtRatio) - Me.PnRt.Location = New System.Drawing.Point(272, 12) + Me.PnRt.Location = New System.Drawing.Point(6, 46) Me.PnRt.Name = "PnRt" - Me.PnRt.Size = New System.Drawing.Size(238, 34) + Me.PnRt.Size = New System.Drawing.Size(266, 34) Me.PnRt.TabIndex = 1 ' 'Label45 ' Me.Label45.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.Label45.AutoSize = True - Me.Label45.Location = New System.Drawing.Point(220, 10) + Me.Label45.Location = New System.Drawing.Point(243, 10) Me.Label45.Name = "Label45" Me.Label45.Size = New System.Drawing.Size(16, 13) Me.Label45.TabIndex = 10 @@ -416,9 +431,9 @@ Partial Class F_VEH ' 'LbRtRatio ' - Me.LbRtRatio.Location = New System.Drawing.Point(13, 10) + Me.LbRtRatio.Location = New System.Drawing.Point(17, 10) Me.LbRtRatio.Name = "LbRtRatio" - Me.LbRtRatio.Size = New System.Drawing.Size(139, 17) + Me.LbRtRatio.Size = New System.Drawing.Size(167, 17) Me.LbRtRatio.TabIndex = 5 Me.LbRtRatio.Text = "LbRtRatio" Me.LbRtRatio.TextAlign = System.Drawing.ContentAlignment.TopRight @@ -426,7 +441,7 @@ Partial Class F_VEH 'TbRtRatio ' Me.TbRtRatio.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.TbRtRatio.Location = New System.Drawing.Point(158, 7) + Me.TbRtRatio.Location = New System.Drawing.Point(186, 7) Me.TbRtRatio.Name = "TbRtRatio" Me.TbRtRatio.Size = New System.Drawing.Size(56, 20) Me.TbRtRatio.TabIndex = 0 @@ -434,20 +449,19 @@ Partial Class F_VEH 'BtRtBrowse ' Me.BtRtBrowse.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.BtRtBrowse.Location = New System.Drawing.Point(500, 52) + Me.BtRtBrowse.Image = Global.VECTO.My.Resources.Resources.Open_icon + Me.BtRtBrowse.Location = New System.Drawing.Point(249, 82) Me.BtRtBrowse.Name = "BtRtBrowse" - Me.BtRtBrowse.Size = New System.Drawing.Size(32, 23) + Me.BtRtBrowse.Size = New System.Drawing.Size(24, 24) Me.BtRtBrowse.TabIndex = 3 - Me.BtRtBrowse.Text = "..." Me.BtRtBrowse.UseVisualStyleBackColor = True ' 'TbRtPath ' - Me.TbRtPath.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.TbRtPath.Location = New System.Drawing.Point(5, 54) + Me.TbRtPath.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.TbRtPath.Location = New System.Drawing.Point(5, 84) Me.TbRtPath.Name = "TbRtPath" - Me.TbRtPath.Size = New System.Drawing.Size(489, 20) + Me.TbRtPath.Size = New System.Drawing.Size(244, 20) Me.TbRtPath.TabIndex = 2 ' 'CbRtType @@ -457,7 +471,7 @@ Partial Class F_VEH Me.CbRtType.Items.AddRange(New Object() {"Included in Transmission Loss Maps", "Primary Retarder", "Secondary Retarder"}) Me.CbRtType.Location = New System.Drawing.Point(6, 19) Me.CbRtType.Name = "CbRtType" - Me.CbRtType.Size = New System.Drawing.Size(223, 21) + Me.CbRtType.Size = New System.Drawing.Size(266, 21) Me.CbRtType.TabIndex = 0 ' 'Label46 @@ -472,7 +486,7 @@ Partial Class F_VEH 'Label50 ' Me.Label50.AutoSize = True - Me.Label50.Location = New System.Drawing.Point(229, 5) + Me.Label50.Location = New System.Drawing.Point(225, 5) Me.Label50.Name = "Label50" Me.Label50.Size = New System.Drawing.Size(25, 13) Me.Label50.TabIndex = 24 @@ -496,26 +510,28 @@ Partial Class F_VEH Me.GroupBox8.Controls.Add(Me.ButAxlAdd) Me.GroupBox8.Location = New System.Drawing.Point(6, 133) Me.GroupBox8.Name = "GroupBox8" - Me.GroupBox8.Size = New System.Drawing.Size(538, 206) + Me.GroupBox8.Size = New System.Drawing.Size(562, 190) Me.GroupBox8.TabIndex = 2 Me.GroupBox8.TabStop = False Me.GroupBox8.Text = "Axles / Wheels" ' 'PnWheelDiam ' + Me.PnWheelDiam.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.PnWheelDiam.Controls.Add(Me.Label13) Me.PnWheelDiam.Controls.Add(Me.TBrdyn) Me.PnWheelDiam.Controls.Add(Me.Label35) - Me.PnWheelDiam.Location = New System.Drawing.Point(321, 163) + Me.PnWheelDiam.Location = New System.Drawing.Point(321, 151) Me.PnWheelDiam.Name = "PnWheelDiam" - Me.PnWheelDiam.Size = New System.Drawing.Size(204, 33) + Me.PnWheelDiam.Size = New System.Drawing.Size(228, 34) Me.PnWheelDiam.TabIndex = 5 ' 'CbRim ' Me.CbRim.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.CbRim.FormattingEnabled = True - Me.CbRim.Location = New System.Drawing.Point(131, 167) + Me.CbRim.Location = New System.Drawing.Point(131, 155) Me.CbRim.Name = "CbRim" Me.CbRim.Size = New System.Drawing.Size(184, 21) Me.CbRim.TabIndex = 4 @@ -523,7 +539,7 @@ Partial Class F_VEH 'Label7 ' Me.Label7.AutoSize = True - Me.Label7.Location = New System.Drawing.Point(6, 170) + Me.Label7.Location = New System.Drawing.Point(6, 157) Me.Label7.Name = "Label7" Me.Label7.Size = New System.Drawing.Size(119, 13) Me.Label7.TabIndex = 46 @@ -532,18 +548,18 @@ Partial Class F_VEH 'Label6 ' Me.Label6.AutoSize = True - Me.Label6.Location = New System.Drawing.Point(405, 132) + Me.Label6.Location = New System.Drawing.Point(450, 121) Me.Label6.Name = "Label6" - Me.Label6.Size = New System.Drawing.Size(121, 13) + Me.Label6.Size = New System.Drawing.Size(106, 13) Me.Label6.TabIndex = 3 - Me.Label6.Text = "Double-Click to edit axle" + Me.Label6.Text = "(Double-Click to Edit)" ' 'ButAxlRem ' Me.ButAxlRem.Image = Global.VECTO.My.Resources.Resources.minus_circle_icon - Me.ButAxlRem.Location = New System.Drawing.Point(41, 127) + Me.ButAxlRem.Location = New System.Drawing.Point(28, 121) Me.ButAxlRem.Name = "ButAxlRem" - Me.ButAxlRem.Size = New System.Drawing.Size(29, 23) + Me.ButAxlRem.Size = New System.Drawing.Size(24, 24) Me.ButAxlRem.TabIndex = 2 Me.ButAxlRem.UseVisualStyleBackColor = True ' @@ -558,7 +574,7 @@ Partial Class F_VEH Me.LvRRC.Location = New System.Drawing.Point(6, 19) Me.LvRRC.MultiSelect = False Me.LvRRC.Name = "LvRRC" - Me.LvRRC.Size = New System.Drawing.Size(526, 102) + Me.LvRRC.Size = New System.Drawing.Size(550, 102) Me.LvRRC.TabIndex = 0 Me.LvRRC.TabStop = False Me.LvRRC.UseCompatibleStateImageBehavior = False @@ -601,9 +617,9 @@ Partial Class F_VEH 'ButAxlAdd ' Me.ButAxlAdd.Image = Global.VECTO.My.Resources.Resources.plus_circle_icon - Me.ButAxlAdd.Location = New System.Drawing.Point(6, 127) + Me.ButAxlAdd.Location = New System.Drawing.Point(5, 121) Me.ButAxlAdd.Name = "ButAxlAdd" - Me.ButAxlAdd.Size = New System.Drawing.Size(29, 23) + Me.ButAxlAdd.Size = New System.Drawing.Size(24, 24) Me.ButAxlAdd.TabIndex = 1 Me.ButAxlAdd.UseVisualStyleBackColor = True ' @@ -612,7 +628,7 @@ Partial Class F_VEH Me.CbAxleConfig.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.CbAxleConfig.FormattingEnabled = True Me.CbAxleConfig.Items.AddRange(New Object() {"-", "4x2", "4x4", "6x2", "6x4", "6x6", "8x2", "8x4", "8x6", "8x8"}) - Me.CbAxleConfig.Location = New System.Drawing.Point(136, 80) + Me.CbAxleConfig.Location = New System.Drawing.Point(153, 80) Me.CbAxleConfig.Name = "CbAxleConfig" Me.CbAxleConfig.Size = New System.Drawing.Size(89, 21) Me.CbAxleConfig.TabIndex = 1 @@ -633,17 +649,18 @@ Partial Class F_VEH Me.Label5.Location = New System.Drawing.Point(13, 117) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(134, 13) - Me.Label5.TabIndex = 31 + Me.Label5.TabIndex = 2 Me.Label5.Text = "Gross Vehicle Mass Rating" ' 'Label9 ' Me.Label9.AutoSize = True - Me.Label9.Location = New System.Drawing.Point(201, 117) + Me.Label9.Location = New System.Drawing.Point(197, 117) Me.Label9.Name = "Label9" Me.Label9.Size = New System.Drawing.Size(16, 13) - Me.Label9.TabIndex = 24 + Me.Label9.TabIndex = 3 Me.Label9.Text = "[t]" + Me.Label9.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' 'TbMassMass ' @@ -655,9 +672,9 @@ Partial Class F_VEH 'StatusStrip1 ' Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.LbStatus}) - Me.StatusStrip1.Location = New System.Drawing.Point(0, 719) + Me.StatusStrip1.Location = New System.Drawing.Point(0, 747) Me.StatusStrip1.Name = "StatusStrip1" - Me.StatusStrip1.Size = New System.Drawing.Size(562, 22) + Me.StatusStrip1.Size = New System.Drawing.Size(589, 22) Me.StatusStrip1.SizingGrip = False Me.StatusStrip1.TabIndex = 36 Me.StatusStrip1.Text = "StatusStrip1" @@ -670,7 +687,7 @@ Partial Class F_VEH ' 'TbHDVclass ' - Me.TbHDVclass.Location = New System.Drawing.Point(153, 142) + Me.TbHDVclass.Location = New System.Drawing.Point(153, 140) Me.TbHDVclass.Name = "TbHDVclass" Me.TbHDVclass.ReadOnly = True Me.TbHDVclass.Size = New System.Drawing.Size(25, 20) @@ -698,7 +715,7 @@ Partial Class F_VEH 'Label22 ' Me.Label22.AutoSize = True - Me.Label22.Location = New System.Drawing.Point(229, 57) + Me.Label22.Location = New System.Drawing.Point(225, 57) Me.Label22.Name = "Label22" Me.Label22.Size = New System.Drawing.Size(25, 13) Me.Label22.TabIndex = 24 @@ -712,7 +729,7 @@ Partial Class F_VEH Me.GroupBox1.Controls.Add(Me.Label14) Me.GroupBox1.Location = New System.Drawing.Point(6, 3) Me.GroupBox1.Name = "GroupBox1" - Me.GroupBox1.Size = New System.Drawing.Size(266, 124) + Me.GroupBox1.Size = New System.Drawing.Size(278, 124) Me.GroupBox1.TabIndex = 0 Me.GroupBox1.TabStop = False Me.GroupBox1.Text = "Weight / Loading" @@ -736,9 +753,9 @@ Partial Class F_VEH 'GrAirRes ' Me.GrAirRes.Controls.Add(Me.PnCdATrTr) - Me.GrAirRes.Location = New System.Drawing.Point(278, 3) + Me.GrAirRes.Location = New System.Drawing.Point(290, 3) Me.GrAirRes.Name = "GrAirRes" - Me.GrAirRes.Size = New System.Drawing.Size(266, 124) + Me.GrAirRes.Size = New System.Drawing.Size(278, 48) Me.GrAirRes.TabIndex = 1 Me.GrAirRes.TabStop = False Me.GrAirRes.Text = "Air Resistance" @@ -751,13 +768,13 @@ Partial Class F_VEH Me.PnCdATrTr.Dock = System.Windows.Forms.DockStyle.Fill Me.PnCdATrTr.Location = New System.Drawing.Point(3, 16) Me.PnCdATrTr.Name = "PnCdATrTr" - Me.PnCdATrTr.Size = New System.Drawing.Size(260, 105) + Me.PnCdATrTr.Size = New System.Drawing.Size(272, 29) Me.PnCdATrTr.TabIndex = 0 ' 'Label38 ' Me.Label38.AutoSize = True - Me.Label38.Location = New System.Drawing.Point(109, 6) + Me.Label38.Location = New System.Drawing.Point(105, 6) Me.Label38.Name = "Label38" Me.Label38.Size = New System.Drawing.Size(24, 13) Me.Label38.TabIndex = 24 @@ -769,7 +786,7 @@ Partial Class F_VEH Me.PictureBox1.Image = Global.VECTO.My.Resources.Resources.VECTO_VEH Me.PictureBox1.Location = New System.Drawing.Point(12, 28) Me.PictureBox1.Name = "PictureBox1" - Me.PictureBox1.Size = New System.Drawing.Size(538, 40) + Me.PictureBox1.Size = New System.Drawing.Size(569, 40) Me.PictureBox1.TabIndex = 37 Me.PictureBox1.TabStop = False ' @@ -793,6 +810,7 @@ Partial Class F_VEH ' 'PnAll ' + Me.PnAll.Controls.Add(Me.GroupBox2) Me.PnAll.Controls.Add(Me.GrAirRes) Me.PnAll.Controls.Add(Me.GroupBox1) Me.PnAll.Controls.Add(Me.GroupBox8) @@ -800,13 +818,91 @@ Partial Class F_VEH Me.PnAll.Controls.Add(Me.GroupBox6) Me.PnAll.Location = New System.Drawing.Point(6, 172) Me.PnAll.Name = "PnAll" - Me.PnAll.Size = New System.Drawing.Size(552, 514) + Me.PnAll.Size = New System.Drawing.Size(575, 544) Me.PnAll.TabIndex = 4 ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.Panel1) + Me.GroupBox2.Controls.Add(Me.btAngularGearLossMapBrowse) + Me.GroupBox2.Controls.Add(Me.tbAngularGearLossMapPath) + Me.GroupBox2.Controls.Add(Me.cbAngularGearType) + Me.GroupBox2.Location = New System.Drawing.Point(290, 327) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(278, 111) + Me.GroupBox2.TabIndex = 4 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Angular Gear" + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.Label4) + Me.Panel1.Controls.Add(Me.Label10) + Me.Panel1.Controls.Add(Me.tbAngularGearRatio) + Me.Panel1.Location = New System.Drawing.Point(6, 46) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(266, 34) + Me.Panel1.TabIndex = 1 + ' + 'Label4 + ' + Me.Label4.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(243, 10) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(16, 13) + Me.Label4.TabIndex = 10 + Me.Label4.Text = "[-]" + ' + 'Label10 + ' + Me.Label10.Location = New System.Drawing.Point(17, 11) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(167, 18) + Me.Label10.TabIndex = 5 + Me.Label10.Text = "Ratio" + Me.Label10.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'tbAngularGearRatio + ' + Me.tbAngularGearRatio.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.tbAngularGearRatio.Location = New System.Drawing.Point(186, 7) + Me.tbAngularGearRatio.Name = "tbAngularGearRatio" + Me.tbAngularGearRatio.Size = New System.Drawing.Size(56, 20) + Me.tbAngularGearRatio.TabIndex = 0 + ' + 'btAngularGearLossMapBrowse + ' + Me.btAngularGearLossMapBrowse.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.btAngularGearLossMapBrowse.Image = Global.VECTO.My.Resources.Resources.Open_icon + Me.btAngularGearLossMapBrowse.Location = New System.Drawing.Point(249, 82) + Me.btAngularGearLossMapBrowse.Name = "btAngularGearLossMapBrowse" + Me.btAngularGearLossMapBrowse.Size = New System.Drawing.Size(24, 24) + Me.btAngularGearLossMapBrowse.TabIndex = 3 + Me.btAngularGearLossMapBrowse.UseVisualStyleBackColor = True + ' + 'tbAngularGearLossMapPath + ' + Me.tbAngularGearLossMapPath.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.tbAngularGearLossMapPath.Location = New System.Drawing.Point(5, 84) + Me.tbAngularGearLossMapPath.Name = "tbAngularGearLossMapPath" + Me.tbAngularGearLossMapPath.Size = New System.Drawing.Size(244, 20) + Me.tbAngularGearLossMapPath.TabIndex = 2 + ' + 'cbAngularGearType + ' + Me.cbAngularGearType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.cbAngularGearType.FormattingEnabled = True + Me.cbAngularGearType.Items.AddRange(New Object() {"No Angular Gear", "Separate Angular Gear", "Included in Transmission Loss Maps"}) + Me.cbAngularGearType.Location = New System.Drawing.Point(6, 19) + Me.cbAngularGearType.Name = "cbAngularGearType" + Me.cbAngularGearType.Size = New System.Drawing.Size(266, 21) + Me.cbAngularGearType.TabIndex = 0 + ' 'PicVehicle ' Me.PicVehicle.BackColor = System.Drawing.Color.LightGray - Me.PicVehicle.Location = New System.Drawing.Point(250, 74) + Me.PicVehicle.Location = New System.Drawing.Point(281, 74) Me.PicVehicle.Name = "PicVehicle" Me.PicVehicle.Size = New System.Drawing.Size(300, 88) Me.PicVehicle.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage @@ -816,10 +912,10 @@ Partial Class F_VEH 'Label8 ' Me.Label8.AutoSize = True - Me.Label8.Location = New System.Drawing.Point(89, 145) + Me.Label8.Location = New System.Drawing.Point(89, 143) Me.Label8.Name = "Label8" Me.Label8.Size = New System.Drawing.Size(58, 13) - Me.Label8.TabIndex = 40 + Me.Label8.TabIndex = 10 Me.Label8.Text = "HDV Class" ' 'F_VEH @@ -828,7 +924,7 @@ Partial Class F_VEH Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.CancelButton = Me.ButCancel - Me.ClientSize = New System.Drawing.Size(562, 741) + Me.ClientSize = New System.Drawing.Size(589, 769) Me.Controls.Add(Me.Label8) Me.Controls.Add(Me.TbHDVclass) Me.Controls.Add(Me.PicVehicle) @@ -873,6 +969,10 @@ Partial Class F_VEH CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() Me.CmOpenFile.ResumeLayout(False) Me.PnAll.ResumeLayout(False) + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() CType(Me.PicVehicle, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() @@ -955,4 +1055,12 @@ Partial Class F_VEH Friend WithEvents Label8 As System.Windows.Forms.Label Friend WithEvents PnCdATrTr As System.Windows.Forms.Panel Friend WithEvents Label38 As System.Windows.Forms.Label + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents tbAngularGearRatio As System.Windows.Forms.TextBox + Friend WithEvents btAngularGearLossMapBrowse As System.Windows.Forms.Button + Friend WithEvents tbAngularGearLossMapPath As System.Windows.Forms.TextBox + Friend WithEvents cbAngularGearType As System.Windows.Forms.ComboBox + Friend WithEvents Panel1 As System.Windows.Forms.Panel End Class diff --git a/VECTO/GUI/F_VEH.resx b/VECTO/GUI/F_VEH.resx index afc65da6332f6269d7ed1eb1f8f2e237c3a870bc..994b92ac355e7506d9b05229d838bf53ec7ff58e 100644 --- a/VECTO/GUI/F_VEH.resx +++ b/VECTO/GUI/F_VEH.resx @@ -126,6 +126,9 @@ <metadata name="CmOpenFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>258, 21</value> </metadata> + <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>57</value> + </metadata> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> diff --git a/VECTO/GUI/F_VEH.vb b/VECTO/GUI/F_VEH.vb index d14a30b06b7e60db168f389e0b67de0963fab355..ef7d6a4570c77f045dd821253e2ff53f3b38f519 100644 --- a/VECTO/GUI/F_VEH.vb +++ b/VECTO/GUI/F_VEH.vb @@ -10,23 +10,22 @@ ' See the LICENSE.txt for the specific language governing permissions and limitations. Option Infer On - Imports System.IO Imports System.Text.RegularExpressions ''' <summary> ''' Vehicle Editor. ''' </summary> -''' <remarks></remarks> Public Class F_VEH - Dim AxlDlog As F_VEH_Axle - Private HDVclass As String - Dim VehFile As String + Private _axlDlog As F_VEH_Axle + Private _hdVclass As String + Private _vehFile As String + Private _changed As Boolean = False + Private _cmFiles As String() + Public AutoSendTo As Boolean = False Public JobDir As String = "" - Private Changed As Boolean = False - 'Close - Check for unsaved changes Private Sub F_VEH_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then @@ -45,32 +44,32 @@ Public Class F_VEH CbCdMode.Enabled = Not Cfg.DeclMode PnWheelDiam.Enabled = Not Cfg.DeclMode - AxlDlog = New F_VEH_Axle + _axlDlog = New F_VEH_Axle CbRim.Items.Add("-") For Each txt In Declaration.RimsList CbRim.Items.Add(txt) Next - Changed = False + _changed = False - newVEH() + NewVehicle() End Sub 'Set HDVclasss - Private Sub SetHDVclass() - Dim VehC = CType(CbCat.SelectedIndex, tVehCat) - Dim AxlC = CType(CbAxleConfig.SelectedIndex, tAxleConf) - Dim MaxMass = CSng(fTextboxToNumString(TbMassMass.Text)) + Private Sub SetHdVclass() + Dim vehC = CType(CbCat.SelectedIndex, tVehCat) + Dim axlC = CType(CbAxleConfig.SelectedIndex, tAxleConf) + Dim maxMass = CSng(fTextboxToNumString(TbMassMass.Text)) - Dim s0 As cSegmentTableEntry = Declaration.SegmentTable.SetRef(VehC, AxlC, MaxMass) - HDVclass = "-" + Dim s0 As cSegmentTableEntry = Declaration.SegmentTable.SetRef(vehC, axlC, maxMass) + _hdVclass = "-" If Not s0 Is Nothing Then - HDVclass = s0.HDVclass + _hdVclass = s0.HDVclass End If - TbHDVclass.Text = HDVclass - PicVehicle.Image = Image.FromFile(Declaration.ConvPicPath(HDVclass, False)) + TbHDVclass.Text = _hdVclass + PicVehicle.Image = Image.FromFile(Declaration.ConvPicPath(_hdVclass, False)) End Sub @@ -84,7 +83,7 @@ Public Class F_VEH Dim s0 = Declaration.SegmentTable.SetRef(vehC, axlC, maxMass) If Not s0 Is Nothing Then - HDVclass = s0.HDVclass + _hdVclass = s0.HDVclass Dim axleCount As Short = s0.AxleShares(s0.Missions(0)).Count Dim i0 = LvRRC.Items.Count @@ -101,10 +100,9 @@ Public Class F_VEH LvRRC.Items.Add(lvi) Next - ElseIf AxleCount < LvRRC.Items.Count Then - For i = AxleCount To LvRRC.Items.Count - 1 + ElseIf axleCount < LvRRC.Items.Count Then + For i = axleCount To LvRRC.Items.Count - 1 LvRRC.Items.RemoveAt(LvRRC.Items.Count - 1) - 'LvRRC.Items(i).ForeColor = Color.Red Next End If @@ -112,7 +110,7 @@ Public Class F_VEH Else PnAll.Enabled = False - HDVclass = "-" + _hdVclass = "-" End If TbMassExtra.Text = "-" @@ -139,12 +137,12 @@ Public Class F_VEH 'New Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click - newVEH() + NewVehicle() End Sub 'Open Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click - If fbVEH.OpenDialog(VehFile) Then openVEH(fbVEH.Files(0)) + If fbVEH.OpenDialog(_vehFile) Then OpenVehicle(fbVEH.Files(0)) End Sub 'Save @@ -162,7 +160,7 @@ Public Class F_VEH If ChangeCheckCancel() Then Exit Sub - If VehFile = "" Then + If _vehFile = "" Then If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then If Not SaveOrSaveAs(True) Then Exit Sub Else @@ -179,18 +177,15 @@ Public Class F_VEH F_VECTO.WindowState = FormWindowState.Normal End If - F_VECTO.TbVEH.Text = fFileWoDir(VehFile, JobDir) + F_VECTO.TbVEH.Text = fFileWoDir(_vehFile, JobDir) End Sub 'Help Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click If File.Exists(MyAppPath & "User Manual\help.html") Then - Dim BrowserRegistryString As String = - My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString - Dim DefaultBrowserPath As String = - Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString - Process.Start(DefaultBrowserPath, - String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#vehicle-editor")) + Dim registryString = My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString + Dim defaultBrowserPath = Regex.Match(registryString, "(\"".*?\"")").Captures(0).ToString + Process.Start(defaultBrowserPath, String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#vehicle-editor")) Else MsgBox("User Manual not found!", MsgBoxStyle.Critical) End If @@ -209,20 +204,19 @@ Public Class F_VEH End Sub 'Save or Save As function = true if file is saved - Private Function SaveOrSaveAs(SaveAs As Boolean) As Boolean - If VehFile = "" Or SaveAs Then - If fbVEH.SaveDialog(VehFile) Then - VehFile = fbVEH.Files(0) + Private Function SaveOrSaveAs(saveAs As Boolean) As Boolean + If _vehFile = "" Or saveAs Then + If fbVEH.SaveDialog(_vehFile) Then + _vehFile = fbVEH.Files(0) Else Return False End If End If - Return saveVEH(VehFile) + Return SaveVehicle(_vehFile) End Function 'New VEH - Private Sub newVEH() - + Private Sub NewVehicle() If ChangeCheckCancel() Then Exit Sub TbMass.Text = "" @@ -234,7 +228,11 @@ Public Class F_VEH TbCdFile.Text = "" CbRtType.SelectedIndex = 0 - TbRtRatio.Text = "1" + TbRtRatio.Text = "" + TbRtPath.Text = "" + + CbRtType.SelectedIndex = 0 + TbRtRatio.Text = "" TbRtPath.Text = "" CbCat.SelectedIndex = 0 @@ -247,38 +245,30 @@ Public Class F_VEH CbRim.SelectedIndex = 0 - DeclInit() - - VehFile = "" + _vehFile = "" Text = "VEH Editor" LbStatus.Text = "" - Changed = False + _changed = False End Sub 'Open VEH - Sub openVEH(file As String) - Dim i As Int16 - Dim VEH0 As cVEH + Sub OpenVehicle(file As String) Dim inertia As Single - Dim a0 As cVEH.cAxle - Dim lvi As ListViewItem - If ChangeCheckCancel() Then Exit Sub - VEH0 = New cVEH + Dim veh = New cVEH + veh.FilePath = file - VEH0.FilePath = file - - If Not VEH0.ReadFile Then + If Not veh.ReadFile Then MsgBox("Cannot read " & file & "!") Exit Sub End If - If Cfg.DeclMode <> VEH0.SavedInDeclMode Then + If Cfg.DeclMode <> veh.SavedInDeclMode Then Select Case WrongMode() Case 1 Close() @@ -286,34 +276,35 @@ Public Class F_VEH F_MAINForm.OpenVectoFile(file) Case -1 Exit Sub - Case Else '0 - 'Continue... End Select End If - TbMass.Text = VEH0.Mass - TbMassExtra.Text = VEH0.MassExtra - TbLoad.Text = VEH0.Loading - TBrdyn.Text = VEH0.rdyn - CbRim.Text = VEH0.Rim + TbMass.Text = veh.Mass + TbMassExtra.Text = veh.MassExtra + TbLoad.Text = veh.Loading + TBrdyn.Text = veh.rdyn + CbRim.Text = veh.Rim - CbCdMode.SelectedIndex = CType(VEH0.CdMode, Integer) - TbCdFile.Text = VEH0.CdFile.OriginalPath + CbCdMode.SelectedIndex = CType(veh.CdMode, Integer) + TbCdFile.Text = veh.CdFile.OriginalPath - CbRtType.SelectedIndex = CType(VEH0.RtType, Integer) - TbRtRatio.Text = CStr(VEH0.RtRatio) - TbRtPath.Text = CStr(VEH0.RtFile.OriginalPath) + CbRtType.SelectedIndex = CType(veh.RtType, Integer) + TbRtRatio.Text = veh.RtRatio + TbRtPath.Text = veh.RtFile.OriginalPath + cbAngularGearType.SelectedIndex = CType(veh.AngularGearType, Integer) + tbAngularGearRatio.Text = veh.AngularGearRatio + tbAngularGearLossMapPath.Text = veh.AngularGearLossMapFile.OriginalPath - CbCat.SelectedIndex = CType(VEH0.VehCat, Integer) + CbCat.SelectedIndex = CType(veh.VehCat, Integer) LvRRC.Items.Clear() - i = 0 - For Each a0 In VEH0.Axles + Dim i = 0 + For Each a0 In veh.Axles i += 1 - lvi = New ListViewItem + Dim lvi = New ListViewItem lvi.SubItems(0).Text = i.ToString If Cfg.DeclMode Then @@ -345,36 +336,36 @@ Public Class F_VEH LvRRC.Items.Add(lvi) Next - TbMassMass.Text = VEH0.MassMax - TbMassExtra.Text = VEH0.MassExtra + TbMassMass.Text = veh.MassMax + TbMassExtra.Text = veh.MassExtra - CbAxleConfig.SelectedIndex = CType(VEH0.AxleConf, Integer) + CbAxleConfig.SelectedIndex = CType(veh.AxleConf, Integer) - TBcdA.Text = VEH0.CdA0 + TBcdA.Text = veh.CdA0 DeclInit() fbVEH.UpdateHistory(file) Text = fFILE(file, True) LbStatus.Text = "" - VehFile = file + _vehFile = file Activate() - Changed = False + _changed = False End Sub 'Save VEH - Private Function saveVEH(file As String) As Boolean + Private Function SaveVehicle(file As String) As Boolean - Dim veh0 = New cVEH - veh0.FilePath = file + Dim veh = New cVEH + veh.FilePath = file - veh0.Mass = CSng(fTextboxToNumString(TbMass.Text)) - veh0.MassExtra = CSng(fTextboxToNumString(TbMassExtra.Text)) - veh0.Loading = CSng(fTextboxToNumString(TbLoad.Text)) + veh.Mass = CSng(fTextboxToNumString(TbMass.Text)) + veh.MassExtra = CSng(fTextboxToNumString(TbMassExtra.Text)) + veh.Loading = CSng(fTextboxToNumString(TbLoad.Text)) - veh0.CdA0 = CSng(fTextboxToNumString(TBcdA.Text)) - veh0.CdA02 = veh0.CdA0 + veh.CdA0 = CSng(fTextboxToNumString(TBcdA.Text)) + veh.CdA02 = veh.CdA0 Dim vehC = CType(CbCat.SelectedIndex, tVehCat) Dim axlC = CType(CbAxleConfig.SelectedIndex, tAxleConf) @@ -383,22 +374,27 @@ Public Class F_VEH If Not s0 Is Nothing Then If s0.HDVclass = "2" Then ' CdA Addition for T1 Trailer - veh0.CdA02 += 1.1 + veh.CdA02 += 1.1 End If If s0.HDVclass = "4" OrElse s0.HDVclass = "9" Then ' CdA Addition for T2 Trailer - veh0.CdA02 += 0.6 + veh.CdA02 += 0.6 End If End If - veh0.Rim = CbRim.Text - veh0.rdyn = CSng(fTextboxToNumString(TBrdyn.Text)) - veh0.CdMode = CType(CbCdMode.SelectedIndex, tCdMode) - veh0.CdFile.Init(fPATH(file), TbCdFile.Text) - veh0.RtType = CType(CbRtType.SelectedIndex, tRtType) - veh0.RtRatio = CSng(fTextboxToNumString(TbRtRatio.Text)) - veh0.RtFile.Init(fPATH(file), TbRtPath.Text) - veh0.VehCat = CType(CbCat.SelectedIndex, tVehCat) + veh.Rim = CbRim.Text + veh.rdyn = CSng(fTextboxToNumString(TBrdyn.Text)) + veh.CdMode = CType(CbCdMode.SelectedIndex, tCdMode) + veh.CdFile.Init(fPATH(file), TbCdFile.Text) + veh.RtType = CType(CbRtType.SelectedIndex, tRtType) + veh.RtRatio = CSng(fTextboxToNumString(TbRtRatio.Text)) + veh.RtFile.Init(fPATH(file), TbRtPath.Text) + + veh.AngularGearType = CType(cbAngularGearType.SelectedIndex, tAngularGearType) + veh.AngularGearRatio = CSng(fTextboxToNumString(tbAngularGearRatio.Text)) + veh.AngularGearLossMapFile.Init(fPATH(file), tbAngularGearLossMapPath.Text) + + veh.VehCat = CType(CbCat.SelectedIndex, tVehCat) Dim axleShareCheck As Double For Each LV0 In LvRRC.Items @@ -410,7 +406,7 @@ Public Class F_VEH a0.FzISO = fTextboxToNumString(LV0.SubItems(4).Text) a0.Wheels = LV0.SubItems(5).Text a0.Inertia = fTextboxToNumString(LV0.SubItems(6).Text) - veh0.Axles.Add(a0) + veh.Axles.Add(a0) Next If Not Cfg.DeclMode AndAlso Math.Abs(axleShareCheck - 1) > 0.000001 Then @@ -418,12 +414,12 @@ Public Class F_VEH Return False End If - veh0.MassMax = CSng(fTextboxToNumString(TbMassMass.Text)) - veh0.MassExtra = CSng(fTextboxToNumString(TbMassExtra.Text)) - veh0.AxleConf = CType(CbAxleConfig.SelectedIndex, tAxleConf) + veh.MassMax = CSng(fTextboxToNumString(TbMassMass.Text)) + veh.MassExtra = CSng(fTextboxToNumString(TbMassExtra.Text)) + veh.AxleConf = CType(CbAxleConfig.SelectedIndex, tAxleConf) '--------------------------------------------------------------------------------- - If Not veh0.SaveFile Then + If Not veh.SaveFile Then MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) Return False End If @@ -439,7 +435,7 @@ Public Class F_VEH Text = fFILE(file, True) LbStatus.Text = "" - Changed = False + _changed = False Return True End Function @@ -486,13 +482,13 @@ Public Class F_VEH ex = "vcdb" End If - If fbCDx.OpenDialog(fFileRepl(TbCdFile.Text, fPATH(VehFile)), False, ex) Then _ - TbCdFile.Text = fFileWoDir(fbCDx.Files(0), fPATH(VehFile)) + If fbCDx.OpenDialog(fFileRepl(TbCdFile.Text, fPATH(_vehFile)), False, ex) Then _ + TbCdFile.Text = fFileWoDir(fbCDx.Files(0), fPATH(_vehFile)) End Sub 'Open Cd File Private Sub BtCdFileOpen_Click(sender As Object, e As EventArgs) Handles BtCdFileOpen.Click - OpenFiles(fFileRepl(TbCdFile.Text, fPATH(VehFile))) + OpenFiles(fFileRepl(TbCdFile.Text, fPATH(_vehFile))) End Sub #End Region @@ -525,9 +521,8 @@ Public Class F_VEH 'Rt File Browse Private Sub BtRtBrowse_Click(sender As Object, e As EventArgs) Handles BtRtBrowse.Click - - If fbRLM.OpenDialog(fFileRepl(TbRtPath.Text, fPATH(VehFile))) Then _ - TbRtPath.Text = fFileWoDir(fbRLM.Files(0), fPATH(VehFile)) + If fbRLM.OpenDialog(fFileRepl(TbRtPath.Text, fPATH(_vehFile))) Then _ + TbRtPath.Text = fFileWoDir(fbRLM.Files(0), fPATH(_vehFile)) End Sub #End Region @@ -535,23 +530,23 @@ Public Class F_VEH #Region "Track changes" Private Sub Change() - If Not Changed Then + If Not _changed Then LbStatus.Text = "Unsaved changes in current file" - Changed = True + _changed = True End If End Sub ' "Save changes? "... Returns True if user aborts Private Function ChangeCheckCancel() As Boolean - If Changed Then + If _changed Then Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel) Case MsgBoxResult.Yes Return Not SaveOrSaveAs(False) Case MsgBoxResult.Cancel Return True Case Else 'MsgBoxResult.No - Changed = False + _changed = False Return False End Select @@ -567,22 +562,21 @@ Public Class F_VEH Change() End Sub - Private Sub CbRim_SelectedIndexChanged(sender As Object, e As EventArgs) _ - Handles CbRim.SelectedIndexChanged + Private Sub CbRim_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CbRim.SelectedIndexChanged Change() DeclInit() End Sub Private Sub TBcw_TextChanged(sender As Object, e As EventArgs) _ Handles TbLoad.TextChanged, TBrdyn.TextChanged, TBcdA.TextChanged, TbCdFile.TextChanged, TbRtPath.TextChanged, - TbRtRatio.TextChanged + TbRtRatio.TextChanged, tbAngularGearRatio.TextChanged, tbAngularGearLossMapPath.TextChanged, + cbAngularGearType.SelectedIndexChanged Change() End Sub - Private Sub CbCat_SelectedIndexChanged(sender As Object, e As EventArgs) _ - Handles CbCat.SelectedIndexChanged + Private Sub CbCat_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CbCat.SelectedIndexChanged Change() - SetHDVclass() + SetHdVclass() DeclInit() End Sub @@ -594,14 +588,14 @@ Public Class F_VEH Private Sub TbMassMax_TextChanged(sender As Object, e As EventArgs) Handles TbMassMass.TextChanged SetMaxLoad() Change() - SetHDVclass() + SetHdVclass() DeclInit() End Sub Private Sub CbAxleConfig_SelectedIndexChanged(sender As Object, e As EventArgs) _ Handles CbAxleConfig.SelectedIndexChanged Change() - SetHDVclass() + SetHdVclass() DeclInit() End Sub @@ -623,22 +617,22 @@ Public Class F_VEH Private Sub ButAxlAdd_Click(sender As Object, e As EventArgs) Handles ButAxlAdd.Click Dim lv0 As ListViewItem - AxlDlog.Clear() + _axlDlog.Clear() - If AxlDlog.ShowDialog = DialogResult.OK Then + If _axlDlog.ShowDialog = DialogResult.OK Then lv0 = New ListViewItem lv0.SubItems(0).Text = LvRRC.Items.Count + 1 - lv0.SubItems.Add(Trim(AxlDlog.TbAxleShare.Text)) - If AxlDlog.CbTwinT.Checked Then + lv0.SubItems.Add(Trim(_axlDlog.TbAxleShare.Text)) + If _axlDlog.CbTwinT.Checked Then lv0.SubItems.Add("yes") Else lv0.SubItems.Add("no") End If - lv0.SubItems.Add(Trim(AxlDlog.TbRRC.Text)) - lv0.SubItems.Add(Trim(AxlDlog.TbFzISO.Text)) - lv0.SubItems.Add(Trim(AxlDlog.CbWheels.Text)) - lv0.SubItems.Add(Trim(AxlDlog.TbI_wheels.Text)) + lv0.SubItems.Add(Trim(_axlDlog.TbRRC.Text)) + lv0.SubItems.Add(Trim(_axlDlog.TbFzISO.Text)) + lv0.SubItems.Add(Trim(_axlDlog.CbWheels.Text)) + lv0.SubItems.Add(Trim(_axlDlog.TbI_wheels.Text)) LvRRC.Items.Add(lv0) @@ -699,24 +693,24 @@ Public Class F_VEH Dim lv0 = LvRRC.SelectedItems(0) - AxlDlog.TbAxleShare.Text = lv0.SubItems(1).Text - AxlDlog.CbTwinT.Checked = (lv0.SubItems(2).Text = "yes") - AxlDlog.TbRRC.Text = lv0.SubItems(3).Text - AxlDlog.TbFzISO.Text = lv0.SubItems(4).Text - AxlDlog.TbI_wheels.Text = lv0.SubItems(6).Text - AxlDlog.CbWheels.Text = lv0.SubItems(5).Text + _axlDlog.TbAxleShare.Text = lv0.SubItems(1).Text + _axlDlog.CbTwinT.Checked = (lv0.SubItems(2).Text = "yes") + _axlDlog.TbRRC.Text = lv0.SubItems(3).Text + _axlDlog.TbFzISO.Text = lv0.SubItems(4).Text + _axlDlog.TbI_wheels.Text = lv0.SubItems(6).Text + _axlDlog.CbWheels.Text = lv0.SubItems(5).Text - If AxlDlog.ShowDialog = DialogResult.OK Then - lv0.SubItems(1).Text = AxlDlog.TbAxleShare.Text - If AxlDlog.CbTwinT.Checked Then + If _axlDlog.ShowDialog = DialogResult.OK Then + lv0.SubItems(1).Text = _axlDlog.TbAxleShare.Text + If _axlDlog.CbTwinT.Checked Then lv0.SubItems(2).Text = "yes" Else lv0.SubItems(2).Text = "no" End If - lv0.SubItems(3).Text = AxlDlog.TbRRC.Text - lv0.SubItems(4).Text = AxlDlog.TbFzISO.Text - lv0.SubItems(5).Text = AxlDlog.CbWheels.Text - lv0.SubItems(6).Text = AxlDlog.TbI_wheels.Text + lv0.SubItems(3).Text = _axlDlog.TbRRC.Text + lv0.SubItems(4).Text = _axlDlog.TbFzISO.Text + lv0.SubItems(5).Text = _axlDlog.CbWheels.Text + lv0.SubItems(6).Text = _axlDlog.TbI_wheels.Text Change() DeclInit() @@ -727,26 +721,25 @@ Public Class F_VEH #Region "Open File Context Menu" - Private CmFiles As String() Private Sub OpenFiles(ParamArray files() As String) If files.Length = 0 Then Exit Sub - CmFiles = files + _cmFiles = files OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName CmOpenFile.Show(Cursor.Position) End Sub Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles OpenWithToolStripMenuItem.Click - If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!") + If Not FileOpenAlt(_cmFiles(0)) Then MsgBox("Failed to open file!") End Sub Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles ShowInFolderToolStripMenuItem.Click - If File.Exists(CmFiles(0)) Then + If File.Exists(_cmFiles(0)) Then Try - Process.Start("explorer", "/select,""" & CmFiles(0) & "") + Process.Start("explorer", "/select,""" & _cmFiles(0) & "") Catch ex As Exception MsgBox("Failed to open file!") End Try @@ -756,5 +749,33 @@ Public Class F_VEH End Sub #End Region + + +#Region "Angular Gear" + + Private Sub cbAngularGearType_SelectedIndexChanged(sender As Object, e As EventArgs) _ + Handles cbAngularGearType.SelectedIndexChanged + Select Case cbAngularGearType.SelectedIndex + Case 1 'Separate Angular Gear + tbAngularGearRatio.Enabled = True + btAngularGearLossMapBrowse.Enabled = True + tbAngularGearLossMapPath.Enabled = True + Case Else 'Losses included in Transmission, None + tbAngularGearRatio.Text = "0" + tbAngularGearRatio.Enabled = False + btAngularGearLossMapBrowse.Enabled = False + tbAngularGearLossMapPath.Text = "" + tbAngularGearLossMapPath.Enabled = False + End Select + + Change() + End Sub + + Private Sub btAngularGearLossMapBrowse_Click(sender As Object, e As EventArgs) Handles btAngularGearLossMapBrowse.Click + If fbTLM.OpenDialog(fFileRepl(TbRtPath.Text, fPATH(_vehFile))) Then _ + tbAngularGearLossMapPath.Text = fFileWoDir(fbTLM.Files(0), fPATH(_vehFile)) + End Sub + +#End Region End Class diff --git a/VECTO/Input Files/cVEH.vb b/VECTO/Input Files/cVEH.vb index 97f84ee26b0cc3fa28c2473d50cfb885ddc66acc..4763a6b7037038f4eaa32d47aa0c9bc0655e5214 100644 --- a/VECTO/Input Files/cVEH.vb +++ b/VECTO/Input Files/cVEH.vb @@ -56,6 +56,9 @@ Public Class cVEH Private MyFileList As List(Of String) Public SavedInDeclMode As Boolean + Public AngularGearType As tAngularGearType + Public AngularGearRatio As Single + Public AngularGearLossMapFile As cSubPath Public Class cAxle @@ -78,6 +81,9 @@ Public Class cVEH 'Retarder If Me.RtType <> tRtType.None Then MyFileList.Add(Me.RtFile.FullPath) + 'Angular Gear + If AngularGearType <> tAngularGearType.None Then MyFileList.Add(Me.AngularGearLossMapFile.FullPath) + Return True End Function @@ -89,6 +95,7 @@ Public Class cVEH CdX = New List(Of Single) CdY = New List(Of Single) RtFile = New cSubPath + AngularGearLossMapFile = New cSubPath() RtnU = New List(Of Single) RtM = New List(Of Single) Axles = New List(Of cAxle) @@ -113,10 +120,16 @@ Public Class cVEH Rim = "" RtType = tRtType.None - RtRatio = 0 + RtRatio = 1 RtnU.Clear() RtM.Clear() RtFile.Clear() + AngularGearLossMapFile.Clear() + + AngularGearType = tAngularGearType.None + AngularGearLossMapFile.Clear() + AngularGearRatio = 1 + Axles.Clear() VehCat = tVehCat.Undef MassMax = 0 @@ -215,6 +228,18 @@ Public Class cVEH RtFile.Init(MyPath, JSON.Content("Body")("Retarder")("File")) End If + If JSON.Content("Body")("AngularGear") Is Nothing Then + AngularGearType = tAngularGearType.None + Else + AngularGearType = AngularGearTypeConverter(JSON.Content("Body")("AngularGear")("Type").ToString) + + If Not JSON.Content("Body")("AngularGear")("Ratio") Is Nothing Then _ + AngularGearRatio = JSON.Content("Body")("AngularGear")("Ratio") + If Not JSON.Content("Body")("AngularGear")("LossMap") Is Nothing Then _ + AngularGearLossMapFile.Init(MyPath, JSON.Content("Body")("AngularGear")("LossMap")) + End If + + VehCat = ConvVehCat(JSON.Content("Body")("VehCat").ToString) AxleConf = ConvAxleConf(JSON.Content("Body")("AxleConfig")("Type").ToString) @@ -287,6 +312,10 @@ Public Class cVEH {"Type", RtTypeConv(RtType)}, {"Ratio", RtRatio}, {"File", RtFile.PathOrDummy}}}, + {"AngularGear", New Dictionary(Of String, Object) From { + {"Type", AngularGearTypeConverter(AngularGearType)}, + {"Ratio", AngularGearRatio}, + {"LossMap", AngularGearLossMapFile.PathOrDummy}}}, {"AxleConfig", New Dictionary(Of String, Object) From { {"Type", ConvAxleConf(AxleConf)}, {"Axles", (From axle In Axles Select New Dictionary(Of String, Object) From { @@ -295,7 +324,8 @@ Public Class cVEH {"AxleWeightShare", axle.Share}, {"TwinTyres", axle.TwinTire}, {"RRCISO", axle.RRC}, - {"FzISO", axle.FzISO}})}}}} + {"FzISO", axle.FzISO}})}}} + } json.Content.Add("Body", dic) Return json.WriteFile(sFilePath) diff --git a/VECTO/VECTO_Global.vb b/VECTO/VECTO_Global.vb index 9eab4688b6976511aef84aab13a4d9715de82946..146dd4d0ae99339b00d251917380f5482dbe1a32 100644 --- a/VECTO/VECTO_Global.vb +++ b/VECTO/VECTO_Global.vb @@ -390,8 +390,31 @@ Module VECTO_Global End Select End Function - Public Function RtTypeConv(RtType As String) As tRtType - Select Case UCase(Trim(RtType)) + Public Function AngularGearTypeConverter(type As tAngularGearType) As String + Select Case type + Case tAngularGearType.SeparateAngularGear + Return "Separate" + Case tAngularGearType.IncludedInTransmission + Return "Included" + Case Else + Return "None" + End Select + End Function + + Public Function AngularGearTypeConverter(type As String) As tAngularGearType + Select Case type + Case "Separate" + Return tAngularGearType.SeparateAngularGear + Case "Included" + Return tAngularGearType.IncludedInTransmission + Case Else + Return tAngularGearType.None + End Select + End Function + + + Public Function RtTypeConv(rtType As String) As tRtType + Select Case UCase(Trim(rtType)) Case "PRIMARY" Return tRtType.Primary Case "SECONDARY" diff --git a/VECTO/VECTO_Types.vb b/VECTO/VECTO_Types.vb index a1ec2b0ae2aefe0eeee3282c0f6d2341362a8077..53bc7b0c64eeaaac61aa70ce1fa2af8d8c44e6be 100644 --- a/VECTO/VECTO_Types.vb +++ b/VECTO/VECTO_Types.vb @@ -14,170 +14,171 @@ ''' </summary> ''' <remarks></remarks> Public Enum tFbExtMode As Integer - ForceExt = 0 - MultiExt = 1 - SingleExt = 2 + ForceExt = 0 + MultiExt = 1 + SingleExt = 2 End Enum Public Enum tWorkMsgType - StatusBar - StatusListBox - ProgBars - JobStatus - CycleStatus - InitProgBar - Abort + StatusBar + StatusListBox + ProgBars + JobStatus + CycleStatus + InitProgBar + Abort End Enum Public Enum tMsgID - NewJob - Normal - Warn - Err + NewJob + Normal + Warn + Err End Enum Public Enum tCalcResult - Err - Abort - Done + Err + Abort + Done End Enum Public Enum tJobStatus - Running - Queued - OK - Err - Warn - Undef + Running + Queued + OK + Err + Warn + Undef End Enum Public Enum tDriComp - t - V - Grad - Alt - nU - Gears - Padd - Pe - VairVres - VairBeta - Undefined - s - StopTime - Torque - Pwheel + t + V + Grad + Alt + nU + Gears + Padd + Pe + VairVres + VairBeta + Undefined + s + StopTime + Torque + Pwheel End Enum Public Enum tVehState - Cruise - Acc - Dec - Stopped + Cruise + Acc + Dec + Stopped End Enum Public Enum tEngState - Idle - Drag - FullDrag - Load - FullLoad - Stopped - Undef + Idle + Drag + FullDrag + Load + FullLoad + Stopped + Undef End Enum Public Enum tEngClutch - Closed - Opened - Slipping + Closed + Opened + Slipping End Enum Public Enum tAuxComp - Psupply - Undefined + Psupply + Undefined End Enum Public Enum tCdMode - ConstCd0 = 0 + ConstCd0 = 0 CdOfVeng = 1 CdOfVdecl = 2 CdOfBeta = 3 End Enum Public Enum tRtType - None = 0 - Primary = 1 - Secondary = 2 + None = 0 + Primary = 1 + Secondary = 2 +End Enum + +Public Enum tAngularGearType + None = 0 + SeparateAngularGear = 1 + IncludedInTransmission = 2 End Enum Public Enum tGearbox - Manual = 0 - SemiAutomatic = 1 - Automatic = 2 - Custom = 3 + Manual = 0 + SemiAutomatic = 1 + Automatic = 2 + Custom = 3 End Enum Public Enum tVehCat As Integer - Undef = 0 - RigidTruck = 1 - Tractor = 2 - Citybus = 3 - InterurbanBus = 4 - Coach = 5 + Undef = 0 + RigidTruck = 1 + Tractor = 2 + Citybus = 3 + InterurbanBus = 4 + Coach = 5 End Enum Public Enum tAxleConf As Integer - Undef = 0 - a4x2 = 1 - a4x4 = 2 - a6x2 = 3 - a6x4 = 4 - a6x6 = 5 - a8x2 = 6 - a8x4 = 7 - a8x6 = 8 - a8x8 = 9 + Undef = 0 + a4x2 = 1 + a4x4 = 2 + a6x2 = 3 + a6x4 = 4 + a6x6 = 5 + a8x2 = 6 + a8x4 = 7 + a8x6 = 8 + a8x8 = 9 End Enum Public Enum tLoading - FullLoaded - EmptyLoaded - RefLoaded - UserDefLoaded + FullLoaded + EmptyLoaded + RefLoaded + UserDefLoaded End Enum Public Enum tMission - LongHaul - RegionalDelivery - UrbanDelivery - MunicipalUtility - Construction - HeavyUrban - Urban - Suburban - Interurban - Coach - Undef + LongHaul + RegionalDelivery + UrbanDelivery + MunicipalUtility + Construction + HeavyUrban + Urban + Suburban + Interurban + Coach + Undef End Enum Public Enum tWHTCpart - Urban - Rural - Motorway + Urban + Rural + Motorway End Enum Public Enum tAux - Fan - SteerPump - HVAC - ElectricSys - PneumSys + Fan + SteerPump + HVAC + ElectricSys + PneumSys End Enum - - - - - diff --git a/VectoCommon/VectoCommon/Models/AngleGearType.cs b/VectoCommon/VectoCommon/Models/AngleGearType.cs new file mode 100644 index 0000000000000000000000000000000000000000..babeaec975665790ddda2558df793d089b088153 --- /dev/null +++ b/VectoCommon/VectoCommon/Models/AngleGearType.cs @@ -0,0 +1,9 @@ +namespace TUGraz.VectoCommon.Models +{ + public enum AngleGearType + { + None, + SeparateAngleGear, + LossesIncludedInTransmission, + } +} \ No newline at end of file diff --git a/VectoCommon/VectoCommon/VectoCommon.csproj b/VectoCommon/VectoCommon/VectoCommon.csproj index f5af0adb6fb585a46a68a2b988b88da43e3c73e8..aa149ebe75be1a2a01f948bcabcec3d8ad8b8ac2 100644 --- a/VectoCommon/VectoCommon/VectoCommon.csproj +++ b/VectoCommon/VectoCommon/VectoCommon.csproj @@ -50,6 +50,7 @@ <Compile Include="InputData\EngineeringInputData.cs" /> <Compile Include="InputData\IInputDataProvider.cs" /> <Compile Include="InputData\IntegrityStatus.cs" /> + <Compile Include="Models\AngleGearType.cs" /> <Compile Include="Models\AuxiliaryModel.cs" /> <Compile Include="Models\AxleConfiguration.cs" /> <Compile Include="Models\CrossWindCorrectionMode.cs" /> diff --git a/VectoCore/VectoCoreTest/FileIO/JsonTest.cs b/VectoCore/VectoCoreTest/FileIO/JsonTest.cs index 2c75113db6268b751c10204680892358410abe1a..dc51918ed204cd0ec3c4ce00c1a09f4e97bbf703 100644 --- a/VectoCore/VectoCoreTest/FileIO/JsonTest.cs +++ b/VectoCore/VectoCoreTest/FileIO/JsonTest.cs @@ -36,6 +36,8 @@ using Newtonsoft.Json; using Newtonsoft.Json.Linq; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.Tests.Utils; @@ -45,6 +47,7 @@ namespace TUGraz.VectoCore.Tests.FileIO public class JsonTest { private const string TestJobFile = @"Testdata\Jobs\40t_Long_Haul_Truck.vecto"; + private const string TestVehicleFile = @"Testdata\Components\24t Coach.vveh"; [TestMethod] public void ReadJobTest() @@ -52,7 +55,7 @@ namespace TUGraz.VectoCore.Tests.FileIO var job = JSONInputDataFactory.ReadJsonJob(TestJobFile); Assert.IsNotNull(job); -// AssertHelper.Exception<InvalidFileFormatException>(() => ); + // AssertHelper.Exception<InvalidFileFormatException>(() => ); } [TestMethod] @@ -92,7 +95,9 @@ namespace TUGraz.VectoCore.Tests.FileIO ((JObject)json["Body"]).Property("Cycles").Remove(); AssertHelper.Exception<InvalidFileFormatException>( - () => { var tmp = new JSONInputDataV2(json, TestJobFile).Cycles; }, "Key Cycles not found"); + () => { + var tmp = new JSONInputDataV2(json, TestJobFile).Cycles; + }, "Key Cycles not found"); } [TestMethod] @@ -118,7 +123,6 @@ namespace TUGraz.VectoCore.Tests.FileIO }, "AccelerationCurve (VACC) required"); } - [TestMethod] public void UseDeclarationDriverAccCurveTest() { @@ -150,11 +154,12 @@ namespace TUGraz.VectoCore.Tests.FileIO ((JObject)json["Body"]).Property("OverSpeedEcoRoll").Remove(); AssertHelper.Exception<VectoException>( - () => { var tmp = new JSONInputDataV2(json, TestJobFile).DriverInputData.OverSpeedEcoRoll; }, + () => { + var tmp = new JSONInputDataV2(json, TestJobFile).DriverInputData.OverSpeedEcoRoll; + }, "Key OverSpeedEcoRoll not found"); } - [TestMethod] public void TestReadingElectricTechlist() { @@ -169,167 +174,177 @@ namespace TUGraz.VectoCore.Tests.FileIO } } } - } + [TestMethod] + public void TestReadAngleGear() + { + var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestVehicleFile))); + var angleGear = json["Body"]["AngleGear"].Value<string>(); + + var angleGearType = angleGear.ParseEnum<AngleGearType>(); + + Assert.AreEqual(AngleGearType.LossesIncludedInTransmission, angleGearType); + + Assert.Fail("not implemented"); + } + } -// [TestClass] -// public class JsonTest -// { -// private const string jsonExpected = @"{ -// ""CreatedBy"": ""Michael Krisper"", -// ""Date"": ""2015-11-17T11:49:03Z"", -// ""AppVersion"": ""3.0.1.320"", -// ""FileVersion"": 7 -//}"; - -// private const string jsonExpected2 = @"{ -// ""CreatedBy"": ""Michael Krisper"", -// ""Date"": ""2015-01-07T11:49:03Z"", -// ""AppVersion"": ""3.0.1.320"", -// ""FileVersion"": 7 -//}"; - - -// [TestMethod] -// public void TestJsonHeaderEquality() -// { -// var h1 = new JsonDataHeader { -// AppVersion = "MyVecto3", -// CreatedBy = "UnitTest", -// Date = new DateTime(1970, 1, 1), -// FileVersion = 3 -// }; -// var h2 = new JsonDataHeader { -// AppVersion = "MyVecto3", -// CreatedBy = "UnitTest", -// Date = new DateTime(1970, 1, 1), -// FileVersion = 3 -// }; -// Assert.AreEqual(h1, h1); -// Assert.AreEqual(h1, h2); -// Assert.AreNotEqual(h1, null); -// Assert.AreNotEqual(h1, "hello world"); -// } - -// [TestMethod] -// public void Test_Json_DateFormat_German() -// { -// var json = @"{ -// ""CreatedBy"": ""Michael Krisper"", -// ""Date"": ""17.11.2015 11:49:03"", -// ""AppVersion"": ""3.0.1.320"", -// ""FileVersion"": 7 -//}"; -// var header = JsonConvert.DeserializeObject<JsonDataHeader>(json); - -// Assert.AreEqual("3.0.1.320", header.AppVersion); -// Assert.AreEqual(7u, header.FileVersion); -// Assert.AreEqual("Michael Krisper", header.CreatedBy); -// Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date); - -// var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented); -// Assert.AreEqual(jsonExpected, jsonCompare); -// } - -// [TestMethod] -// public void Test_Json_DateFormat_German2() -// { -// var json = @"{ -// ""CreatedBy"": ""Michael Krisper"", -// ""Date"": ""7.1.2015 11:49:03"", -// ""AppVersion"": ""3.0.1.320"", -// ""FileVersion"": 7 -//}"; -// var header = JsonConvert.DeserializeObject<JsonDataHeader>(json); - -// Assert.AreEqual("3.0.1.320", header.AppVersion); -// Assert.AreEqual(7u, header.FileVersion); -// Assert.AreEqual("Michael Krisper", header.CreatedBy); -// Assert.AreEqual(new DateTime(2015, 1, 7, 11, 49, 3, DateTimeKind.Utc), header.Date); - -// var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented); -// Assert.AreEqual(jsonExpected2, jsonCompare); -// } - -// [TestMethod] -// public void Test_Json_DateFormat_English() -// { -// var json = @"{ -// ""CreatedBy"": ""Michael Krisper"", -// ""Date"": ""11/17/2015 11:49:03 AM"", -// ""AppVersion"": ""3.0.1.320"", -// ""FileVersion"": 7 -//}"; -// var header = JsonConvert.DeserializeObject<JsonDataHeader>(json); - -// Assert.AreEqual("3.0.1.320", header.AppVersion); -// Assert.AreEqual(7u, header.FileVersion); -// Assert.AreEqual("Michael Krisper", header.CreatedBy); -// Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date); - -// var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented); -// Assert.AreEqual(jsonExpected, jsonCompare); -// } - -// [TestMethod] -// public void Test_Json_DateFormat_English2() -// { -// var json = @"{ -// ""CreatedBy"": ""Michael Krisper"", -// ""Date"": ""1/7/2015 11:49:03 AM"", -// ""AppVersion"": ""3.0.1.320"", -// ""FileVersion"": 7 -//}"; -// var header = JsonConvert.DeserializeObject<JsonDataHeader>(json); - -// Assert.AreEqual("3.0.1.320", header.AppVersion); -// Assert.AreEqual(7u, header.FileVersion); -// Assert.AreEqual("Michael Krisper", header.CreatedBy); -// Assert.AreEqual(new DateTime(2015, 1, 7, 11, 49, 3, DateTimeKind.Utc), header.Date); - -// var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented); -// Assert.AreEqual(jsonExpected2, jsonCompare); -// } - - -// [TestMethod] -// public void Test_Json_DateFormat_ISO8601() -// { -// var json = @"{ -// ""CreatedBy"": ""Michael Krisper"", -// ""Date"": ""2015-11-17T11:49:03Z"", -// ""AppVersion"": ""3.0.1.320"", -// ""FileVersion"": 7 -//}"; -// var header = JsonConvert.DeserializeObject<JsonDataHeader>(json); - -// Assert.AreEqual("3.0.1.320", header.AppVersion); -// Assert.AreEqual(7u, header.FileVersion); -// Assert.AreEqual("Michael Krisper", header.CreatedBy); -// Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date); - -// var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented); -// Assert.AreEqual(json, jsonCompare); -// } - -// [TestMethod] -// public void Test_Json_DateFormat_ISO8601_CET() -// { -// var json = @"{ -// ""CreatedBy"": ""Michael Krisper"", -// ""Date"": ""2015-11-17T11:49:03+01:00"", -// ""AppVersion"": ""3.0.1.320"", -// ""FileVersion"": 7 -//}"; -// var header = JsonConvert.DeserializeObject<JsonDataHeader>(json); - -// Assert.AreEqual("3.0.1.320", header.AppVersion); -// Assert.AreEqual(7u, header.FileVersion); -// Assert.AreEqual("Michael Krisper", header.CreatedBy); -// Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date); - -// var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented); -// Assert.AreEqual(json, jsonCompare); -// } -// } + // [TestClass] + // public class JsonTest + // { + // private const string jsonExpected = @"{ + // ""CreatedBy"": ""Michael Krisper"", + // ""Date"": ""2015-11-17T11:49:03Z"", + // ""AppVersion"": ""3.0.1.320"", + // ""FileVersion"": 7 + //}"; + + // private const string jsonExpected2 = @"{ + // ""CreatedBy"": ""Michael Krisper"", + // ""Date"": ""2015-01-07T11:49:03Z"", + // ""AppVersion"": ""3.0.1.320"", + // ""FileVersion"": 7 + //}"; + + // [TestMethod] + // public void TestJsonHeaderEquality() + // { + // var h1 = new JsonDataHeader { + // AppVersion = "MyVecto3", + // CreatedBy = "UnitTest", + // Date = new DateTime(1970, 1, 1), + // FileVersion = 3 + // }; + // var h2 = new JsonDataHeader { + // AppVersion = "MyVecto3", + // CreatedBy = "UnitTest", + // Date = new DateTime(1970, 1, 1), + // FileVersion = 3 + // }; + // Assert.AreEqual(h1, h1); + // Assert.AreEqual(h1, h2); + // Assert.AreNotEqual(h1, null); + // Assert.AreNotEqual(h1, "hello world"); + // } + + // [TestMethod] + // public void Test_Json_DateFormat_German() + // { + // var json = @"{ + // ""CreatedBy"": ""Michael Krisper"", + // ""Date"": ""17.11.2015 11:49:03"", + // ""AppVersion"": ""3.0.1.320"", + // ""FileVersion"": 7 + //}"; + // var header = JsonConvert.DeserializeObject<JsonDataHeader>(json); + + // Assert.AreEqual("3.0.1.320", header.AppVersion); + // Assert.AreEqual(7u, header.FileVersion); + // Assert.AreEqual("Michael Krisper", header.CreatedBy); + // Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date); + + // var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented); + // Assert.AreEqual(jsonExpected, jsonCompare); + // } + + // [TestMethod] + // public void Test_Json_DateFormat_German2() + // { + // var json = @"{ + // ""CreatedBy"": ""Michael Krisper"", + // ""Date"": ""7.1.2015 11:49:03"", + // ""AppVersion"": ""3.0.1.320"", + // ""FileVersion"": 7 + //}"; + // var header = JsonConvert.DeserializeObject<JsonDataHeader>(json); + + // Assert.AreEqual("3.0.1.320", header.AppVersion); + // Assert.AreEqual(7u, header.FileVersion); + // Assert.AreEqual("Michael Krisper", header.CreatedBy); + // Assert.AreEqual(new DateTime(2015, 1, 7, 11, 49, 3, DateTimeKind.Utc), header.Date); + + // var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented); + // Assert.AreEqual(jsonExpected2, jsonCompare); + // } + + // [TestMethod] + // public void Test_Json_DateFormat_English() + // { + // var json = @"{ + // ""CreatedBy"": ""Michael Krisper"", + // ""Date"": ""11/17/2015 11:49:03 AM"", + // ""AppVersion"": ""3.0.1.320"", + // ""FileVersion"": 7 + //}"; + // var header = JsonConvert.DeserializeObject<JsonDataHeader>(json); + + // Assert.AreEqual("3.0.1.320", header.AppVersion); + // Assert.AreEqual(7u, header.FileVersion); + // Assert.AreEqual("Michael Krisper", header.CreatedBy); + // Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date); + + // var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented); + // Assert.AreEqual(jsonExpected, jsonCompare); + // } + + // [TestMethod] + // public void Test_Json_DateFormat_English2() + // { + // var json = @"{ + // ""CreatedBy"": ""Michael Krisper"", + // ""Date"": ""1/7/2015 11:49:03 AM"", + // ""AppVersion"": ""3.0.1.320"", + // ""FileVersion"": 7 + //}"; + // var header = JsonConvert.DeserializeObject<JsonDataHeader>(json); + + // Assert.AreEqual("3.0.1.320", header.AppVersion); + // Assert.AreEqual(7u, header.FileVersion); + // Assert.AreEqual("Michael Krisper", header.CreatedBy); + // Assert.AreEqual(new DateTime(2015, 1, 7, 11, 49, 3, DateTimeKind.Utc), header.Date); + + // var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented); + // Assert.AreEqual(jsonExpected2, jsonCompare); + // } + + // [TestMethod] + // public void Test_Json_DateFormat_ISO8601() + // { + // var json = @"{ + // ""CreatedBy"": ""Michael Krisper"", + // ""Date"": ""2015-11-17T11:49:03Z"", + // ""AppVersion"": ""3.0.1.320"", + // ""FileVersion"": 7 + //}"; + // var header = JsonConvert.DeserializeObject<JsonDataHeader>(json); + + // Assert.AreEqual("3.0.1.320", header.AppVersion); + // Assert.AreEqual(7u, header.FileVersion); + // Assert.AreEqual("Michael Krisper", header.CreatedBy); + // Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date); + + // var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented); + // Assert.AreEqual(json, jsonCompare); + // } + + // [TestMethod] + // public void Test_Json_DateFormat_ISO8601_CET() + // { + // var json = @"{ + // ""CreatedBy"": ""Michael Krisper"", + // ""Date"": ""2015-11-17T11:49:03+01:00"", + // ""AppVersion"": ""3.0.1.320"", + // ""FileVersion"": 7 + //}"; + // var header = JsonConvert.DeserializeObject<JsonDataHeader>(json); + + // Assert.AreEqual("3.0.1.320", header.AppVersion); + // Assert.AreEqual(7u, header.FileVersion); + // Assert.AreEqual("Michael Krisper", header.CreatedBy); + // Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date); + + // var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented); + // Assert.AreEqual(json, jsonCompare); + // } + // } } \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Components/24t Coach.vveh b/VectoCore/VectoCoreTest/TestData/Components/24t Coach.vveh index 5f1793c50ad591e866e840aa2559c5a2d3db35ea..4951d9ed78b5388b0f539c228206b669765d46c9 100644 --- a/VectoCore/VectoCoreTest/TestData/Components/24t Coach.vveh +++ b/VectoCore/VectoCoreTest/TestData/Components/24t Coach.vveh @@ -1,55 +1,60 @@ { - "Header": { - "CreatedBy": "Raphael Luz IVT TU-Graz (85407225-fc3f-48a8-acda-c84a05df6837)", - "Date": "29.07.2014 16:59:13", - "AppVersion": "2.0.4-beta", - "FileVersion": 7 - }, - "Body": { - "SavedInDeclMode": false, - "VehCat": "Coach", - "CurbWeight": 15700.0, - "CurbWeightExtra": 0.0, - "Loading": 3300.0, - "MassMax": 24.0, - "CdA": 3.2634, - "rdyn": 520.0, - "Rim": "-", - "CdCorrMode": "CdofVdecl", - "CdCorrFile": "24t Coach.vcdv", - "Retarder": { - "Type": "Secondary", - "Ratio": 1.0, - "File": "Retarder.vrlm" - }, - "AxleConfig": { - "Type": "6x2", - "Axles": [ - { - "Inertia": 21.66667, - "Wheels": "-", - "AxleWeightShare": 0.4375, - "TwinTyres": false, - "RRCISO": 0.0055, - "FzISO": 62538.75 - }, - { - "Inertia": 10.83333, - "Wheels": "-", - "AxleWeightShare": 0.375, - "TwinTyres": true, - "RRCISO": 0.0065, - "FzISO": 52532.55 - }, - { - "Inertia": 21.66667, - "Wheels": "-", - "AxleWeightShare": 0.1875, - "TwinTyres": false, - "RRCISO": 0.0055, - "FzISO": 62538.75 - } - ] - } - } + "Header": { + "CreatedBy": "Raphael Luz IVT TU-Graz (85407225-fc3f-48a8-acda-c84a05df6837)", + "Date": "29.07.2014 16:59:13", + "AppVersion": "2.0.4-beta", + "FileVersion": 7 + }, + "Body": { + "SavedInDeclMode": false, + "VehCat": "Coach", + "CurbWeight": 15700.0, + "CurbWeightExtra": 0.0, + "Loading": 3300.0, + "MassMax": 24.0, + "CdA": 3.2634, + "rdyn": 520.0, + "Rim": "-", + "CdCorrMode": "CdofVdecl", + "CdCorrFile": "24t Coach.vcdv", + "Retarder": { + "Type": "Secondary", + "Ratio": 1.0, + "File": "Retarder.vrlm" + }, + "AngularGear": { + "Type" : "SeparateAngleGear", + "Ratio": 3.5, + "LossMap": "AngleGear.vtlm" + }, + "AxleConfig": { + "Type": "6x2", + "Axles": [ + { + "Inertia": 21.66667, + "Wheels": "-", + "AxleWeightShare": 0.4375, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 62538.75 + }, + { + "Inertia": 10.83333, + "Wheels": "-", + "AxleWeightShare": 0.375, + "TwinTyres": true, + "RRCISO": 0.0065, + "FzISO": 52532.55 + }, + { + "Inertia": 21.66667, + "Wheels": "-", + "AxleWeightShare": 0.1875, + "TwinTyres": false, + "RRCISO": 0.0055, + "FzISO": 62538.75 + } + ] + } + } } \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Components/AngleGear.vtlm b/VectoCore/VectoCoreTest/TestData/Components/AngleGear.vtlm new file mode 100644 index 0000000000000000000000000000000000000000..7fcde5d9ca1deb5ec6d506152e8348cb966e74fd --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Components/AngleGear.vtlm @@ -0,0 +1,289 @@ +Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm] # this is a comment +# rpm, Nm, Nm +# this is a comment +0,-2500,77.5 # this is a comment +0,-1500,62.5 +0,-500,47.5 +0,500,47.5 +0,1500,62.5 +0,2500,77.5 +0,3500,92.5 +0,4500,107.5 +# this is a comment +0,5500,122.5 +0,6500,137.5 +0,7500,152.5 +0,8500,167.5 +0,9500,182.5 +0,10500,197.5 +0,11500,212.5 +0,12500,227.5 +0,13500,242.5 +0,14500,257.5 +0,15500,272.5 +200,-2500,77.5 +200,-1500,62.5 +200,-500,47.5 +200,500,47.5 +200,1500,62.5 +200,2500,77.5 +200,3500,92.5 +200,4500,107.5 +200,5500,122.5 +200,6500,137.5 +200,7500,152.5 +200,8500,167.5 +200,9500,182.5 +200,10500,197.5 +200,11500,212.5 +200,12500,227.5 +200,13500,242.5 +200,14500,257.5 +200,15500,272.5 +400,-2500,77.5 +400,-1500,62.5 +400,-500,47.5 +400,500,47.5 +400,1500,62.5 +400,2500,77.5 +400,3500,92.5 +400,4500,107.5 +400,5500,122.5 +400,6500,137.5 +400,7500,152.5 +400,8500,167.5 +400,9500,182.5 +400,10500,197.5 +400,11500,212.5 +400,12500,227.5 +400,13500,242.5 +400,14500,257.5 +400,15500,272.5 +600,-2500,77.5 +600,-1500,62.5 +600,-500,47.5 +600,500,47.5 +600,1500,62.5 +600,2500,77.5 +600,3500,92.5 +600,4500,107.5 +600,5500,122.5 +600,6500,137.5 +600,7500,152.5 +600,8500,167.5 +600,9500,182.5 +600,10500,197.5 +600,11500,212.5 +600,12500,227.5 +600,13500,242.5 +600,14500,257.5 +600,15500,272.5 +800,-2500,77.5 +800,-1500,62.5 +800,-500,47.5 +800,500,47.5 +800,1500,62.5 +800,2500,77.5 +800,3500,92.5 +800,4500,107.5 +800,5500,122.5 +800,6500,137.5 +800,7500,152.5 +800,8500,167.5 +800,9500,182.5 +800,10500,197.5 +800,11500,212.5 +800,12500,227.5 +800,13500,242.5 +800,14500,257.5 +800,15500,272.5 +1000,-2500,77.5 +1000,-1500,62.5 +1000,-500,47.5 +1000,500,47.5 +1000,1500,62.5 +1000,2500,77.5 +1000,3500,92.5 +1000,4500,107.5 +1000,5500,122.5 +1000,6500,137.5 +1000,7500,152.5 +1000,8500,167.5 +1000,9500,182.5 +1000,10500,197.5 +1000,11500,212.5 +1000,12500,227.5 +1000,13500,242.5 +1000,14500,257.5 +1000,15500,272.5 +1200,-2500,77.5 +1200,-1500,62.5 +1200,-500,47.5 +1200,500,47.5 +1200,1500,62.5 +1200,2500,77.5 +1200,3500,92.5 +1200,4500,107.5 +1200,5500,122.5 +1200,6500,137.5 +1200,7500,152.5 +1200,8500,167.5 +1200,9500,182.5 +1200,10500,197.5 +1200,11500,212.5 +1200,12500,227.5 +1200,13500,242.5 +1200,14500,257.5 +1200,15500,272.5 +1400,-2500,77.5 +1400,-1500,62.5 +1400,-500,47.5 +1400,500,47.5 +1400,1500,62.5 +1400,2500,77.5 +1400,3500,92.5 +1400,4500,107.5 +1400,5500,122.5 +1400,6500,137.5 +1400,7500,152.5 +1400,8500,167.5 +1400,9500,182.5 +1400,10500,197.5 +1400,11500,212.5 +1400,12500,227.5 +1400,13500,242.5 +1400,14500,257.5 +1400,15500,272.5 +1600,-2500,77.5 +1600,-1500,62.5 +1600,-500,47.5 +1600,500,47.5 +1600,1500,62.5 +1600,2500,77.5 +1600,3500,92.5 +1600,4500,107.5 +1600,5500,122.5 +1600,6500,137.5 +1600,7500,152.5 +1600,8500,167.5 +1600,9500,182.5 +1600,10500,197.5 +1600,11500,212.5 +1600,12500,227.5 +1600,13500,242.5 +1600,14500,257.5 +1600,15500,272.5 +1800,-2500,77.5 +1800,-1500,62.5 +1800,-500,47.5 +1800,500,47.5 +1800,1500,62.5 +1800,2500,77.5 +1800,3500,92.5 +1800,4500,107.5 +1800,5500,122.5 +1800,6500,137.5 +1800,7500,152.5 +1800,8500,167.5 +1800,9500,182.5 +1800,10500,197.5 +1800,11500,212.5 +1800,12500,227.5 +1800,13500,242.5 +1800,14500,257.5 +1800,15500,272.5 +2000,-2500,77.5 +2000,-1500,62.5 +2000,-500,47.5 +2000,500,47.5 +2000,1500,62.5 +2000,2500,77.5 +2000,3500,92.5 +2000,4500,107.5 +2000,5500,122.5 +2000,6500,137.5 +2000,7500,152.5 +2000,8500,167.5 +2000,9500,182.5 +2000,10500,197.5 +2000,11500,212.5 +2000,12500,227.5 +2000,13500,242.5 +2000,14500,257.5 +2000,15500,272.5 +2200,-2500,77.5 +2200,-1500,62.5 +2200,-500,47.5 +2200,500,47.5 +2200,1500,62.5 +2200,2500,77.5 +2200,3500,92.5 +2200,4500,107.5 +2200,5500,122.5 +2200,6500,137.5 +2200,7500,152.5 +2200,8500,167.5 +2200,9500,182.5 +2200,10500,197.5 +2200,11500,212.5 +2200,12500,227.5 +2200,13500,242.5 +2200,14500,257.5 +2200,15500,272.5 +2400,-2500,77.5 +2400,-1500,62.5 +2400,-500,47.5 +2400,500,47.5 +2400,1500,62.5 +2400,2500,77.5 +2400,3500,92.5 +2400,4500,107.5 +2400,5500,122.5 +2400,6500,137.5 +2400,7500,152.5 +2400,8500,167.5 +2400,9500,182.5 +2400,10500,197.5 +2400,11500,212.5 +2400,12500,227.5 +2400,13500,242.5 +2400,14500,257.5 +2400,15500,272.5 +2600,-2500,77.5 +2600,-1500,62.5 +2600,-500,47.5 +2600,500,47.5 +2600,1500,62.5 +2600,2500,77.5 +2600,3500,92.5 +2600,4500,107.5 +2600,5500,122.5 +2600,6500,137.5 +2600,7500,152.5 +2600,8500,167.5 +2600,9500,182.5 +2600,10500,197.5 +2600,11500,212.5 +2600,12500,227.5 +2600,13500,242.5 +2600,14500,257.5 +2600,15500,272.5 +3600,-2500,77.5 +3600,-1500,62.5 +3600,-500,47.5 +3600,500,47.5 +3600,1500,62.5 +3600,2500,77.5 +3600,3500,92.5 +3600,4500,107.5 +3600,5500,122.5 +3600,6500,137.5 +3600,7500,152.5 +3600,8500,167.5 +3600,9500,182.5 +3600,10500,197.5 +3600,11500,212.5 +3600,12500,227.5 +3600,13500,242.5 +3600,14500,257.5 +3600,15500,272.5 \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index 0087d1e5dcd63344372e8f158ba6759084f9f0fd..b2810a14052190d5a7812f838ecb9ee0c060eef3 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -288,6 +288,9 @@ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> <None Include="TestData\Components\Indirect Gear.vtlm" /> + <None Include="TestData\Components\AngleGear.vtlm"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> <None Include="TestData\Components\Retarder.vrlm"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None>