From 4d68de94dc5b72f67b591ccead8feed7626ae360 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Thu, 31 Mar 2016 15:52:49 +0200 Subject: [PATCH] don't deserialize fuel map directly, read filename into string and create map --- AdvancedAuxiliaryInterfaces/IVectoInputs.vb | 2 ++ AdvancedAuxiliaryInterfaces/VectoInputs.vb | 6 +++++- VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb | 19 +++++++++++++------ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/AdvancedAuxiliaryInterfaces/IVectoInputs.vb b/AdvancedAuxiliaryInterfaces/IVectoInputs.vb index b2c0ce489a..4f31f2b45b 100644 --- a/AdvancedAuxiliaryInterfaces/IVectoInputs.vb +++ b/AdvancedAuxiliaryInterfaces/IVectoInputs.vb @@ -42,6 +42,8 @@ Public Interface IVectoInputs ''' <remarks></remarks> Property FuelMap As IFuelConsumptionMap + Property FuelMapFile As String + ''' <summary> ''' Fuel density used in Vecto. ''' </summary> diff --git a/AdvancedAuxiliaryInterfaces/VectoInputs.vb b/AdvancedAuxiliaryInterfaces/VectoInputs.vb index 8af83e31a7..e0b5b04596 100644 --- a/AdvancedAuxiliaryInterfaces/VectoInputs.vb +++ b/AdvancedAuxiliaryInterfaces/VectoInputs.vb @@ -8,7 +8,7 @@ ' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ' ' See the LICENSE.txt for the specific language governing permissions and limitations. - +Imports Newtonsoft.Json Public Class VectoInputs Implements IVectoInputs @@ -43,8 +43,12 @@ Public Class VectoInputs ''' <value></value> ''' <returns></returns> ''' <remarks></remarks> + <JsonIgnore> Public Property FuelMap As IFuelConsumptionMap Implements IVectoInputs.FuelMap + <JsonProperty("FuelMap")> + Public Property FuelMapFile As String Implements IVectoInputs.FuelMapFile + ''' <summary> ''' Fuel Density as used in Vecto. ''' </summary> diff --git a/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb b/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb index dd7d91e697..9a64e50a07 100644 --- a/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb +++ b/VECTOAux/VectoAuxiliaries/AuxiliaryConfig.vb @@ -129,7 +129,7 @@ Public Class AuxiliaryConfig 'Consumer list If _ Me.ElectricalUserInputsConfig.ElectricalConsumers.Items.Count <> - other.ElectricalUserInputsConfig.ElectricalConsumers.Items.count Then Return False + other.ElectricalUserInputsConfig.ElectricalConsumers.Items.Count Then Return False Dim i As Integer For i = 0 To Me.ElectricalUserInputsConfig.ElectricalConsumers.Items.Count - 1 Dim thisConsumer, otherConsumer As IElectricalConsumer @@ -153,7 +153,7 @@ Public Class AuxiliaryConfig 'ResultCardIdle If _ - Me.ElectricalUserInputsConfig.ResultCardIdle.Results.count <> + Me.ElectricalUserInputsConfig.ResultCardIdle.Results.Count <> other.ElectricalUserInputsConfig.ResultCardIdle.Results.Count Then Return False For i = 0 To Me.ElectricalUserInputsConfig.ResultCardIdle.Results.Count - 1 If _ @@ -165,7 +165,7 @@ Public Class AuxiliaryConfig 'ResultCardOverrun If _ - Me.ElectricalUserInputsConfig.ResultCardOverrun.Results.count <> + Me.ElectricalUserInputsConfig.ResultCardOverrun.Results.Count <> other.ElectricalUserInputsConfig.ResultCardOverrun.Results.Count Then Return False For i = 0 To Me.ElectricalUserInputsConfig.ResultCardOverrun.Results.Count - 1 If _ @@ -178,7 +178,7 @@ Public Class AuxiliaryConfig 'ResultCardTraction If _ - Me.ElectricalUserInputsConfig.ResultCardTraction.Results.count <> + Me.ElectricalUserInputsConfig.ResultCardTraction.Results.Count <> other.ElectricalUserInputsConfig.ResultCardTraction.Results.Count Then Return False For i = 0 To Me.ElectricalUserInputsConfig.ResultCardTraction.Results.Count - 1 If _ @@ -322,7 +322,14 @@ Public Class AuxiliaryConfig 'This is where we Assume values of loaded( Deserialized ) object. AssumeValuesOfOther(tmpAux) - + Dim tmp As cMAP = New cMAP + tmp.FilePath = Path.Combine(Path.GetDirectoryName(auxFile), tmpAux.VectoInputs.FuelMapFile) + If Not tmp.ReadFile() Then + MessageBox.Show("Unable to read fuel map, aborting.") + Return False + End If + tmp.Triangulate() + VectoInputs.FuelMap = tmp Catch ex As Exception returnValue = False @@ -360,7 +367,7 @@ Public Class AuxiliaryConfig otherConsumer.PhaseIdle_TractionOn, otherConsumer.PowerNetVoltage, otherConsumer.NumberInActualVehicle, - otherConsumer.info) + otherConsumer.Info) Me.ElectricalUserInputsConfig.ElectricalConsumers.Items.Add(newConsumer) -- GitLab