From 61cc9800e6bbaaf4da24e573491f83ef1df53b15 Mon Sep 17 00:00:00 2001 From: Michael Krisper <michael.krisper@tugraz.at> Date: Fri, 16 Jul 2021 14:05:04 +0200 Subject: [PATCH] cached Gears data to avoid reading it multiple times. (cherry picked from commit 7e330f533f414947aeba00fbacb091c1757d8b2b) --- .../InputData/FileIO/JSON/JSONGearboxData.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs index 87fdde345f..fb3a8be89a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs @@ -46,6 +46,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON { public class JSONGearboxDataV6 : JSONGearboxDataV5 { + private IList<ITransmissionInputData> resultGears; + public JSONGearboxDataV6(JObject data, string filename, bool tolerateMissing = false) : base(data, filename, tolerateMissing) {} @@ -54,12 +56,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public override IList<ITransmissionInputData> Gears { get { - var resultGears = new List<ITransmissionInputData>(); - var gears = Body.GetEx(JsonKeys.Gearbox_Gears); - for (var i = 1; i < gears.Count(); i++) { - var gear = gears[i]; + if (resultGears == null) { + resultGears = new List<ITransmissionInputData>(); + var gears = Body.GetEx(JsonKeys.Gearbox_Gears); + for (var i = 1; i < gears.Count(); i++) { + var gear = gears[i]; - resultGears.Add(CreateGear(i, gear)); + resultGears.Add(CreateGear(i, gear)); + } } return resultGears; } -- GitLab