From 1b784c942f250e6ef52973c28e671684b95f54bd Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Mon, 20 Apr 2020 09:12:26 +0200
Subject: [PATCH] add checkbox in gui (main form, options) and property in
 simulatorFactory to write internal rundata structure to file all testcases
 except 'TestFullCycleModDataIntegrityAT' green

---
 VECTO/GUI/MainForm.Designer.vb                  | 17 +++++++++++++++--
 VECTO/GUI/MainForm.vb                           |  1 +
 .../Models/Simulation/Impl/SimulatorFactory.cs  | 11 +++++++----
 3 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/VECTO/GUI/MainForm.Designer.vb b/VECTO/GUI/MainForm.Designer.vb
index e08e9972aa..c4b227b659 100644
--- a/VECTO/GUI/MainForm.Designer.vb
+++ b/VECTO/GUI/MainForm.Designer.vb
@@ -119,6 +119,7 @@ Partial Class MainForm
         Me.OpenInGraphWindowToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.ShowInFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
+        Me.cbSaveVectoRunData = New System.Windows.Forms.CheckBox()
         Me.StatusBAR.SuspendLayout
         Me.TabControl1.SuspendLayout
         Me.TabPageGEN.SuspendLayout
@@ -418,6 +419,7 @@ Partial Class MainForm
         '
         'GroupBox3
         '
+        Me.GroupBox3.Controls.Add(Me.cbSaveVectoRunData)
         Me.GroupBox3.Controls.Add(Me.cbActVmod)
         Me.GroupBox3.Controls.Add(Me.cbValidateRunData)
         Me.GroupBox3.Location = New System.Drawing.Point(3, 177)
@@ -429,9 +431,9 @@ Partial Class MainForm
         '
         'cbActVmod
         '
-        Me.cbActVmod.Location = New System.Drawing.Point(6, 41)
+        Me.cbActVmod.Location = New System.Drawing.Point(6, 34)
         Me.cbActVmod.Name = "cbActVmod"
-        Me.cbActVmod.Size = New System.Drawing.Size(161, 63)
+        Me.cbActVmod.Size = New System.Drawing.Size(167, 52)
         Me.cbActVmod.TabIndex = 18
         Me.cbActVmod.Text = "Output values in vmod at beginning and end of simulation interval (EXPERT!)"
         Me.cbActVmod.UseVisualStyleBackColor = true
@@ -853,6 +855,16 @@ Partial Class MainForm
         Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(173, 22)
         Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder"
         '
+        'cbSaveVectoRunData
+        '
+        Me.cbSaveVectoRunData.AutoSize = true
+        Me.cbSaveVectoRunData.Location = New System.Drawing.Point(7, 86)
+        Me.cbSaveVectoRunData.Name = "cbSaveVectoRunData"
+        Me.cbSaveVectoRunData.Size = New System.Drawing.Size(166, 17)
+        Me.cbSaveVectoRunData.TabIndex = 19
+        Me.cbSaveVectoRunData.Text = "Export ModelData (EXPERT!)"
+        Me.cbSaveVectoRunData.UseVisualStyleBackColor = true
+        '
         'MainForm
         '
         Me.AcceptButton = Me.btStartV3
@@ -989,4 +1001,5 @@ End Sub
     Friend WithEvents GroupBox4 As GroupBox
     Friend WithEvents tbOutputFolder As TextBox
     Friend WithEvents BtTCfileBrowse As Button
+    Friend WithEvents cbSaveVectoRunData As CheckBox
 End Class
diff --git a/VECTO/GUI/MainForm.vb b/VECTO/GUI/MainForm.vb
index c972642646..c480ad7897 100644
--- a/VECTO/GUI/MainForm.vb
+++ b/VECTO/GUI/MainForm.vb
@@ -1001,6 +1001,7 @@ Imports TUGraz.VectoCore.Utils
                 runsFactory.ModalResults1Hz = Cfg.Mod1Hz
                 runsFactory.Validate = cbValidateRunData.Checked
                 runsFactory.ActualModalData = cbActVmod.Checked
+                runsFactory.SerializeVectoRunData = cbSaveVectoRunData.Checked
 
                 For Each runId As Integer In jobContainer.AddRuns(runsFactory)
                     fileWriters.Add(runId, fileWriter)
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
index bd0232a35b..61eeaa6882 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
@@ -166,6 +166,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 		public bool ModalResults1Hz { get; set; }
 		public bool ActualModalData { get; set; }
 
+		public bool SerializeVectoRunData { get; set; }
+
 		/// <summary>
 		/// Creates powertrain and initializes it with the component's data.
 		/// </summary>
@@ -215,11 +217,12 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 
 
 			// TODO: MQ 20200410 - Remove for official release!
-			File.WriteAllText(
-				Path.Combine(
-					(ModWriter as FileOutputWriter)?.BasePath ?? "", $"{data.JobName}_{data.Cycle.Name}{data.ModFileSuffix}.json"),
+			if (SerializeVectoRunData) {
+				File.WriteAllText(
+					Path.Combine(
+						(ModWriter as FileOutputWriter)?.BasePath ?? "", $"{data.JobName}_{data.Cycle.Name}{data.ModFileSuffix}.json"),
 					JsonConvert.SerializeObject(data, Formatting.Indented));
-
+			}
 
 			var builder = new PowertrainBuilder(
 				modContainer, modData => {
-- 
GitLab