aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-10-15 22:37:34 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-10-15 22:37:34 +0300
commit9375b71348f9235e642eee147e803e702c8adee8 (patch)
tree09d1607f1c6cf8e87e763636030c4f289e877722 /Software/Visual_Studio
parentf8c7406933bf6a4d92abfc0e54db90bcf719799f (diff)
downloadTango-9375b71348f9235e642eee147e803e702c8adee8.tar.gz
Tango-9375b71348f9235e642eee147e803e702c8adee8.zip
Implemented ColorLib gradient generation feature.
Diffstat (limited to 'Software/Visual_Studio')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj3
-rw-r--r--Software/Visual_Studio/Tango.BL/DTO/RmlDTOBase.cs8
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/RmlBase.cs38
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs163
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/IColorConverter.cs4
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs1
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx3
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram164
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/DefaultGradientGenerationConfiguration.cs74
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs13
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xmlbin85058 -> 85164 bytes
12 files changed, 386 insertions, 87 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml
index 152797bec..b6c91f066 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml
@@ -215,6 +215,8 @@
<TextBlock Margin="0 40 0 0" Text="Color Conversion Version:" HorizontalAlignment="Center"></TextBlock>
<mahapps:NumericUpDown Minimum="1" Maximum="4" Value="{Binding ActiveRML.ColorConversionVersion}" HorizontalContentAlignment="Center" Background="Transparent" BorderBrush="{StaticResource DimGrayBrush}" HasDecimals="False" Margin="0 5 0 0" />
+
+ <CheckBox ToolTip="Use the color conversion engine to generate gradients" IsChecked="{Binding ActiveRML.UseColorLibGradients}" HorizontalAlignment="Center" Margin="0 40 0 0">Enable Gradient Generation</CheckBox>
</StackPanel>
</StackPanel>
</Grid>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj b/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj
index c214d73ae..4e9c8af59 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Tango.PPC.UI.csproj
@@ -451,6 +451,7 @@
<Resource Include="Images\loading_anim.gif" />
<Content Include="..\..\Build\ColorLib\Debug\Tango.ColorLib_v4.dll">
<Link>Tango.ColorLib_v4.dll</Link>
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Resource Include="Images\thread_loading_preview.png" />
<Content Include="Manifests\release.xml" />
@@ -725,7 +726,7 @@ if $(ConfigurationName) == Debug copy /Y "$(TargetDir)Packages" "$(TargetDir)"</
</PropertyGroup>
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
+ <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.BL/DTO/RmlDTOBase.cs b/Software/Visual_Studio/Tango.BL/DTO/RmlDTOBase.cs
index dff2eec8b..51b069d54 100644
--- a/Software/Visual_Studio/Tango.BL/DTO/RmlDTOBase.cs
+++ b/Software/Visual_Studio/Tango.BL/DTO/RmlDTOBase.cs
@@ -238,6 +238,14 @@ namespace Tango.BL.DTO
}
/// <summary>
+ /// use color lib gradients
+ /// </summary>
+ public Boolean UseColorLibGradients
+ {
+ get; set;
+ }
+
+ /// <summary>
/// head type
/// </summary>
public Int32 HeadType
diff --git a/Software/Visual_Studio/Tango.BL/Entities/RmlBase.cs b/Software/Visual_Studio/Tango.BL/Entities/RmlBase.cs
index dc22ac33c..2d3162c95 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/RmlBase.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/RmlBase.cs
@@ -67,6 +67,8 @@ namespace Tango.BL.Entities
public event EventHandler<Int32> ColorConversionVersionChanged;
+ public event EventHandler<Boolean> UseColorLibGradientsChanged;
+
public event EventHandler<Int32> HeadTypeChanged;
public event EventHandler<Int32> QualificationLevelChanged;
@@ -847,6 +849,33 @@ namespace Tango.BL.Entities
}
}
+ protected Boolean _usecolorlibgradients;
+
+ /// <summary>
+ /// Gets or sets the rmlbase use color lib gradients.
+ /// </summary>
+
+ [Column("USE_COLOR_LIB_GRADIENTS")]
+
+ public Boolean UseColorLibGradients
+ {
+ get
+ {
+ return _usecolorlibgradients;
+ }
+
+ set
+ {
+ if (_usecolorlibgradients != value)
+ {
+ _usecolorlibgradients = value;
+
+ OnUseColorLibGradientsChanged(value);
+
+ }
+ }
+ }
+
protected Int32 _headtype;
/// <summary>
@@ -1832,6 +1861,15 @@ namespace Tango.BL.Entities
}
/// <summary>
+ /// Called when the UseColorLibGradients has changed.
+ /// </summary>
+ protected virtual void OnUseColorLibGradientsChanged(Boolean usecolorlibgradients)
+ {
+ UseColorLibGradientsChanged?.Invoke(this, usecolorlibgradients);
+ RaisePropertyChanged(nameof(UseColorLibGradients));
+ }
+
+ /// <summary>
/// Called when the HeadType has changed.
/// </summary>
protected virtual void OnHeadTypeChanged(Int32 headtype)
diff --git a/Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs b/Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs
index 14569fdc0..a91e5e6c7 100644
--- a/Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs
+++ b/Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs
@@ -32,6 +32,8 @@ namespace Tango.ColorConversion
public static extern bool FreeLibrary(IntPtr hModule);
}
+ #region Color Conversion
+
public ConversionOutput Convert(ConversionInput conversionInput, int version)
{
if (version < 1) version = 1;
@@ -275,7 +277,7 @@ namespace Tango.ColorConversion
public Task<ConversionOutput> ConvertAsync(BrushStop stop, Configuration configuration, Rml rml, bool generateHive)
{
- return Task.Factory.StartNew<ConversionOutput>(() =>
+ return Task.Factory.StartNew<ConversionOutput>(() =>
{
return Convert(stop, configuration, rml, generateHive);
});
@@ -296,5 +298,164 @@ namespace Tango.ColorConversion
return Convert(job, color, generateHive);
});
}
+
+ #endregion
+
+ #region Gradient
+
+ public GradientConversionOutput GenerateGradient(GradientConversionInput input, int version)
+ {
+ if (version < 1) version = 1;
+
+ String str = input.ToString();
+
+ String fileName = $"{AssemblyHelper.GetCurrentAssemblyFolder()}\\Tango.ColorLib_v{version}.dll";
+
+ if (!File.Exists(fileName))
+ {
+ throw new FileNotFoundException($"Could not find color conversion library '{fileName}'.");
+ }
+
+ IntPtr pDll = NativeMethods.LoadLibrary(fileName);
+ IntPtr pAddressOfFunctionToCall = NativeMethods.GetProcAddress(pDll, "GenerateGradient");
+ NativeMethodDelegate generateGradient = (NativeMethodDelegate)Marshal.GetDelegateForFunctionPointer(
+ pAddressOfFunctionToCall,
+ typeof(NativeMethodDelegate));
+
+ NativePMR<GradientConversionInput, GradientConversionOutput> nativePMR = new NativePMR<GradientConversionInput, GradientConversionOutput>(generateGradient);
+ GradientConversionOutput output = nativePMR.Invoke(input);
+
+ bool result = NativeMethods.FreeLibrary(pDll);
+
+ if (output.HasError)
+ {
+ throw new ExternalException($"Color Conversion Error: {output.ErrorMessage}!");
+ }
+
+ return output;
+ }
+
+ public GradientConversionOutput GenerateGradient(List<BrushStop> stops, double segmentLength, Rml rml, Configuration configuration)
+ {
+ if (stops.Count == 0)
+ {
+ throw new ArgumentOutOfRangeException("THe number of brush stops cannot be zero.");
+ }
+
+ if (rml == null)
+ {
+ throw new ArgumentNullException("Specified RML is a null reference.");
+ }
+
+ if (rml.Cct == null || rml.Cct.Data == null)
+ {
+ throw new ArgumentNullException("Specified RML CCT data is null.");
+ }
+
+ if (configuration == null)
+ {
+ throw new ArgumentNullException("Specified machine configuration is a null reference.");
+ }
+
+ GradientConversionInput conversionInput = new GradientConversionInput();
+
+ conversionInput.SegmentLength = segmentLength;
+ conversionInput.ForwardData = ByteString.CopyFrom(rml.Cct.Data);
+
+ conversionInput.ThreadL = rml.WhitePointL;
+ conversionInput.ThreadA = rml.WhitePointA;
+ conversionInput.ThreadB = rml.WhitePointB;
+
+ foreach (var processTable in rml.GetActiveProcessGroup().ProcessParametersTables)
+ {
+ conversionInput.ProcessRanges.Add(new ProcessRange()
+ {
+ MinInkUptake = processTable.MinInkUptake,
+ MaxInkUptake = processTable.MaxInkUptake,
+ });
+ }
+
+ foreach (var ids_pack in configuration.GetSupportedIdsPacks(rml))
+ {
+ CalibrationData calibrationData = Cat.CreateDemoCalibrationData((PMR.ColorLab.LiquidType)ids_pack.LiquidType.Code);
+
+ //TODO: Enable Machine Calibration Also..
+
+ //var machine_cat = ids_pack.LiquidType.Cats.SingleOrDefault(x => x.MachineGuid == machine.Guid && x.RmlGuid == job.RmlGuid);
+
+ //if (machine_cat != null)
+ //{
+ // calibrationData = machine_cat.GetCalibrationData();
+ //}
+ //else
+ //{
+ var rml_cat = rml.LiquidTypesRmls.SingleOrDefault(x => x.LiquidType.Code == ids_pack.LiquidType.Code);
+
+ if (rml_cat != null)
+ {
+ calibrationData = rml_cat.GetCalibrationData();
+ }
+ //}
+
+ conversionInput.InputLiquids.Add(new InputLiquid()
+ {
+ LiquidType = (PMR.ColorLab.LiquidType)ids_pack.LiquidType.Code,
+ MaxNanoliterPerCentimeter = ids_pack.LiquidType.LiquidTypesRmls.Single(x => x.Rml == rml).MaxNlPerCm,
+ CalibrationData = calibrationData,
+ });
+ }
+
+ foreach (var stop in stops)
+ {
+ GradientInputStop istop = new GradientInputStop();
+ istop.ColorSpace = (PMR.ColorLab.ColorSpace)stop.ColorSpace.Code;
+ istop.L = stop.L;
+ istop.A = stop.A;
+ istop.B = stop.B;
+ istop.Red = stop.Red;
+ istop.Green = stop.Green;
+ istop.Blue = stop.Blue;
+ istop.Cyan = stop.Cyan;
+ istop.Magenta = stop.Magenta;
+ istop.Yellow = stop.Yellow;
+ istop.Key = stop.Black;
+
+ foreach (var liquidVolume in stop.LiquidVolumesOrderedPigmented)
+ {
+ istop.LiquidVolumes.Add(new PMR.ColorLab.LiquidVolume()
+ {
+ LiquidType = (PMR.ColorLab.LiquidType)liquidVolume.LiquidType,
+ Volume = liquidVolume.Volume
+ });
+ }
+
+ conversionInput.Stops.Add(istop);
+ }
+
+ return GenerateGradient(conversionInput, rml.ColorConversionVersion);
+ }
+
+ public GradientConversionOutput GenerateGradient(Segment segment, Rml rml, Configuration configuration)
+ {
+ return GenerateGradient(segment.BrushStops.ToList(), segment.Length, segment.Job.Rml, configuration);
+ }
+
+ public GradientConversionOutput GenerateGradient(Segment segment)
+ {
+ if (segment.Job == null)
+ {
+ throw new ArgumentNullException("Specified segment job is a null reference.");
+ }
+
+ if (segment.Job.Rml == null)
+ {
+ throw new ArgumentNullException("Specified segment job RML is a null reference.");
+ }
+
+ return GenerateGradient(segment, segment.Job.Rml, segment.Job.Machine.Configuration);
+ }
+
+ #endregion
+
}
}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/IColorConverter.cs b/Software/Visual_Studio/Tango.ColorConversion/IColorConverter.cs
index 5206509a9..aa0ff2ab9 100644
--- a/Software/Visual_Studio/Tango.ColorConversion/IColorConverter.cs
+++ b/Software/Visual_Studio/Tango.ColorConversion/IColorConverter.cs
@@ -24,5 +24,9 @@ namespace Tango.ColorConversion
bool IsOutOfGamut(BrushStop stop);
ProcessParametersTable GetRecommendedProcessParameters(Job job);
ProcessParametersTable GetRecommendedProcessParameters(Job job, ProcessParametersTablesGroup group);
+ GradientConversionOutput GenerateGradient(GradientConversionInput input, int version);
+ GradientConversionOutput GenerateGradient(List<BrushStop> stops, double segmentLength, Rml rml, Configuration configuration);
+ GradientConversionOutput GenerateGradient(Segment segment, Rml rml, Configuration configuration);
+ GradientConversionOutput GenerateGradient(Segment segment);
}
}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs
index fc7354e0e..93648de50 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs
@@ -56,6 +56,7 @@ namespace Tango.DAL.Remote.DB
public byte[] THUMBNAIL { get; set; }
public string CCT_GUID { get; set; }
public int COLOR_CONVERSION_VERSION { get; set; }
+ public bool USE_COLOR_LIB_GRADIENTS { get; set; }
public int HEAD_TYPE { get; set; }
public int QUALIFICATION_LEVEL { get; set; }
public Nullable<System.DateTime> QUALIFICATION_DATE { get; set; }
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
index 5c0ea72d2..4c2140d39 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
@@ -981,6 +981,7 @@
<Property Name="THUMBNAIL" Type="image" />
<Property Name="CCT_GUID" Type="varchar" MaxLength="36" />
<Property Name="COLOR_CONVERSION_VERSION" Type="int" Nullable="false" />
+ <Property Name="USE_COLOR_LIB_GRADIENTS" Type="bit" Nullable="false" />
<Property Name="HEAD_TYPE" Type="int" Nullable="false" />
<Property Name="QUALIFICATION_LEVEL" Type="int" Nullable="false" />
<Property Name="QUALIFICATION_DATE" Type="datetime2" Precision="3" />
@@ -4421,6 +4422,7 @@
<Property Name="THUMBNAIL" Type="Binary" MaxLength="Max" FixedLength="false" />
<Property Name="CCT_GUID" Type="String" MaxLength="36" FixedLength="false" Unicode="false" />
<Property Name="COLOR_CONVERSION_VERSION" Type="Int32" Nullable="false" />
+ <Property Name="USE_COLOR_LIB_GRADIENTS" Type="Boolean" Nullable="false" />
<Property Name="HEAD_TYPE" Type="Int32" Nullable="false" />
<Property Name="QUALIFICATION_LEVEL" Type="Int32" Nullable="false" />
<Property Name="QUALIFICATION_DATE" Type="DateTime" Precision="3" />
@@ -6948,6 +6950,7 @@
<ScalarProperty Name="QUALIFICATION_DATE" ColumnName="QUALIFICATION_DATE" />
<ScalarProperty Name="QUALIFICATION_LEVEL" ColumnName="QUALIFICATION_LEVEL" />
<ScalarProperty Name="HEAD_TYPE" ColumnName="HEAD_TYPE" />
+ <ScalarProperty Name="USE_COLOR_LIB_GRADIENTS" ColumnName="USE_COLOR_LIB_GRADIENTS" />
<ScalarProperty Name="COLOR_CONVERSION_VERSION" ColumnName="COLOR_CONVERSION_VERSION" />
<ScalarProperty Name="CCT_GUID" ColumnName="CCT_GUID" />
<ScalarProperty Name="THUMBNAIL" ColumnName="THUMBNAIL" />
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
index 40cd29ef4..f3a3cdcc3 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
@@ -5,88 +5,88 @@
<!-- Diagram content (shape and connector positions) -->
<edmx:Diagrams>
<Diagram DiagramId="f9ae01d708754bbd997add25a4bacc79" Name="Diagram1" ZoomLevel="97">
- <EntityTypeShape EntityType="RemoteModel.ACTION_LOGS" Width="1.5" PointX="11.25" PointY="27.75" />
- <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="56.375" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="1.5" PointY="67.625" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="73.5" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="1.5" PointY="80.75" />
- <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="15.75" PointY="17" />
- <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="6" PointY="39.75" />
- <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="8.25" PointY="15.875" />
- <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="0.75" PointY="32.5" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="1.5" PointY="7.75" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_GROUPS" Width="1.5" PointX="3.75" PointY="8.25" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS" Width="1.5" PointX="6" PointY="7" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS_RECIPES" Width="1.5" PointX="8.25" PointY="19.875" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="9" PointY="24.75" />
- <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="3.75" PointY="73.25" />
- <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="60.5" />
- <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="9" PointY="34" />
- <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="3.75" PointY="90.25" />
- <EntityTypeShape EntityType="RemoteModel.DISPENSER" Width="1.5" PointX="6" PointY="89.625" />
- <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="70.625" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="9" PointY="56" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="29.625" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="20.375" />
- <EntityTypeShape EntityType="RemoteModel.FSE_VERSIONS" Width="1.5" PointX="11.25" PointY="31.5" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="7.5" PointY="98" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="9.75" PointY="83.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="1.5" PointY="84" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="3.75" PointY="78.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="4.5" PointY="94" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="6.75" PointY="76" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="7.5" PointY="93.875" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="9.75" PointY="73.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="4.5" PointY="98" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="6.75" PointY="82.125" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="6.5" PointY="62" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="8.75" PointY="69.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="76.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="1.5" PointY="88" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="3.75" PointY="82.875" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="6" PointY="33.25" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="8.25" PointY="37.625" />
- <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="16.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="11.25" PointY="16.5" />
- <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="12.875" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="6" PointY="2.125" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="5.25" PointY="16.125" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="11.25" PointY="43.125" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="3.75" PointY="64.375" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="6" PointY="65.125" />
- <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="11.25" PointY="49.375" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="15.875" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="23.75" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="26.625" />
- <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="6" PointY="36.625" />
- <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="3.75" PointY="58.375" />
- <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="12" PointY="4.625" />
- <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="46.625" />
- <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="49.375" />
- <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" Width="1.5" PointX="13.75" PointY="13" />
- <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" Width="1.5" PointX="16" PointY="13.125" />
- <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="15.375" />
- <EntityTypeShape EntityType="RemoteModel.RMLS_SPOOLS" Width="1.5" PointX="5.25" PointY="19.875" />
- <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="12" PointY="8.5" />
- <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="14.25" PointY="8.625" />
- <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="13.5" PointY="20.125" />
- <EntityTypeShape EntityType="RemoteModel.SITE" Width="1.5" PointX="3" PointY="29.125" />
- <EntityTypeShape EntityType="RemoteModel.SITES_CATALOGS" Width="1.5" PointX="11.25" PointY="12.625" />
- <EntityTypeShape EntityType="RemoteModel.SITES_RMLS" Width="1.5" PointX="5.25" PointY="24.375" />
- <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="9" PointY="5.75" />
- <EntityTypeShape EntityType="RemoteModel.SPOOL" Width="1.5" PointX="11.25" PointY="38.25" />
- <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="0.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.TANGO_UPDATES" Width="1.5" PointX="2.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="14.25" PointY="45.875" />
- <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="8.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="10.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="12.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="17.75" PointY="16.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="16.75" PointY="8.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="18.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="9" PointY="28.25" />
- <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="14.25" PointY="29.625" />
- <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="9" PointY="11.625" />
+ <EntityTypeShape EntityType="RemoteModel.ACTION_LOGS" Width="1.5" PointX="11.25" PointY="8" />
+ <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="4.5" PointY="35.25" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="4.5" PointY="54.25" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="60.125" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="4.5" PointY="57.25" />
+ <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="15.75" PointY="18.875" />
+ <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="6.75" PointY="29.875" />
+ <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="5.25" PointY="25.75" />
+ <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="0.75" PointY="14.75" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="1.5" PointY="38.625" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_GROUPS" Width="1.5" PointX="0.75" PointY="6" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS" Width="1.5" PointX="3" PointY="4.75" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS_RECIPES" Width="1.5" PointX="5.25" PointY="21.625" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="9" PointY="7" />
+ <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="6.75" PointY="59.875" />
+ <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="4.5" PointY="31.25" />
+ <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="9" PointY="33.75" />
+ <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="4.5" PointY="40.375" />
+ <EntityTypeShape EntityType="RemoteModel.DISPENSER" Width="1.5" PointX="6.75" PointY="39.75" />
+ <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="63" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="12" PointY="32.125" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="26" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="18" />
+ <EntityTypeShape EntityType="RemoteModel.FSE_VERSIONS" Width="1.5" PointX="11.25" PointY="4.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="4.5" PointY="70.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="6.75" PointY="66.125" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="4.5" PointY="74.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="6.75" PointY="74.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="7.5" PointY="81.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="9.75" PointY="69.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="10.5" PointY="79.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="12.75" PointY="69.125" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="9.5" PointY="55.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="11.75" PointY="57.625" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="12.5" PointY="53.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="14.75" PointY="65.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="66" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="9.5" PointY="75.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="11.75" PointY="65.375" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="6.75" PointY="55" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="9" PointY="37.125" />
+ <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="16.75" PointY="8.625" />
+ <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="11.25" PointY="18.25" />
+ <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="22.25" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="6" PointY="12.625" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="8.25" PointY="18" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="11.25" PointY="13.875" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="6.75" PointY="70.25" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="9" PointY="59.125" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="14.25" PointY="37.5" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="31.875" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="34.75" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="28.875" />
+ <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="6.75" PointY="78.375" />
+ <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="6.75" PointY="33.25" />
+ <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="12" PointY="46.125" />
+ <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="45" />
+ <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="47.75" />
+ <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" Width="1.5" PointX="13.75" PointY="4.75" />
+ <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" Width="1.5" PointX="16" PointY="5" />
+ <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="17" />
+ <EntityTypeShape EntityType="RemoteModel.RMLS_SPOOLS" Width="1.5" PointX="5.25" PointY="17.75" />
+ <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="12" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="14.25" PointY="0.875" />
+ <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="13.5" PointY="22" />
+ <EntityTypeShape EntityType="RemoteModel.SITE" Width="1.5" PointX="6" PointY="9" />
+ <EntityTypeShape EntityType="RemoteModel.SITES_CATALOGS" Width="1.5" PointX="8.25" PointY="25.375" />
+ <EntityTypeShape EntityType="RemoteModel.SITES_RMLS" Width="1.5" PointX="8.25" PointY="22.125" />
+ <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="3" PointY="11.25" />
+ <EntityTypeShape EntityType="RemoteModel.SPOOL" Width="1.5" PointX="11.25" PointY="37.875" />
+ <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="5.75" PointY="2.625" />
+ <EntityTypeShape EntityType="RemoteModel.TANGO_UPDATES" Width="1.5" PointX="17.75" PointY="16.625" />
+ <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="11.25" PointY="42" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="18.75" PointY="2.625" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="5.75" PointY="5.625" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="13.75" PointY="8.625" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="18.75" PointY="6.625" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="18.75" PointY="11.625" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="19.75" PointY="16.625" />
+ <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="9" PointY="10.5" />
+ <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="14.25" PointY="11.875" />
+ <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="9" PointY="3.875" />
<AssociationConnector Association="RemoteModel.FK_ACTION_LOGS_USERS" />
<AssociationConnector Association="RemoteModel.FK_ORGANIZATIONS_ADDRESSES" />
<AssociationConnector Association="RemoteModel.FK_USERS_ADDRESSES" />
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/DefaultGradientGenerationConfiguration.cs b/Software/Visual_Studio/Tango.Integration/Operation/DefaultGradientGenerationConfiguration.cs
index ee4e2097e..ef275479b 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/DefaultGradientGenerationConfiguration.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/DefaultGradientGenerationConfiguration.cs
@@ -9,6 +9,7 @@ using Tango.BL.Enumerations;
using Tango.ColorConversion;
using Tango.Core;
using Tango.Core.ExtensionMethods;
+using Tango.PMR.ColorLab;
namespace Tango.Integration.Operation
{
@@ -56,6 +57,8 @@ namespace Tango.Integration.Operation
ResolutionCM = 500;
}
+ #region Standard Method
+
/// <summary>
/// Creates a collection of brush stops representing the required gradient steps.
/// </summary>
@@ -66,6 +69,11 @@ namespace Tango.Integration.Operation
/// <returns></returns>
public List<BrushStop> Generate(Segment segment, Job job, ProcessParametersTable processParameters, Action<PreparingJobProgressEventArgs> progress = null)
{
+ if (processParameters.ProcessParametersTablesGroup.Rml.UseColorLibGradients)
+ {
+ return GenerateUsingColorLib(segment, job, processParameters, progress);
+ }
+
aborted = false;
List<BrushStop> stops = new List<BrushStop>();
@@ -232,6 +240,72 @@ namespace Tango.Integration.Operation
return color;
}
+ #endregion
+
+ #region ColorLib Method
+
+ public List<BrushStop> GenerateUsingColorLib(Segment segment, Job job, ProcessParametersTable processParameters, Action<PreparingJobProgressEventArgs> progress = null)
+ {
+ aborted = false;
+
+ List<BrushStop> stops = segment.BrushStops.Select(x => x.Clone()).ToList();
+
+ var refStop = segment.BrushStops.First().Clone(segment);
+
+ IColorConverter converter = new DefaultColorConverter();
+
+ foreach (var stop in stops)
+ {
+ if (aborted) return stops;
+
+ if (stop.LiquidVolumes == null)
+ {
+ stop.SetLiquidVolumes(job.Machine.Configuration, job.Rml, processParameters);
+ }
+ }
+
+ var conversionOutput = converter.GenerateGradient(stops, segment.Length, job.Rml, job.Machine.Configuration);
+
+ List<BrushStop> newStops = new List<BrushStop>();
+
+ int stopIndex = 1;
+
+ foreach (var stop in conversionOutput.Stops)
+ {
+ var newStop = refStop.Clone(segment);
+
+ newStop.OffsetPercent = stop.Offset * 100d;
+ newStop.OffsetMeters = segment.Length * stop.Offset;
+ newStop.StopIndex = stopIndex++;
+
+ newStop.SetVolume(LiquidTypes.Cyan, GetStopVolume(stop, PMR.ColorLab.LiquidType.Cyan));
+ newStop.SetVolume(LiquidTypes.Magenta, GetStopVolume(stop, PMR.ColorLab.LiquidType.Magenta));
+ newStop.SetVolume(LiquidTypes.Yellow, GetStopVolume(stop, PMR.ColorLab.LiquidType.Yellow));
+ newStop.SetVolume(LiquidTypes.Black, GetStopVolume(stop, PMR.ColorLab.LiquidType.Black));
+
+ newStop.SetLiquidVolumes(job.Machine.Configuration, job.Rml, processParameters);
+
+ newStops.Add(newStop);
+ }
+
+ progress?.Invoke(new PreparingJobProgressEventArgs()
+ {
+ Job = job,
+ Total = 100,
+ Progress = 100,
+ });
+
+ return newStops;
+ }
+
+ private double GetStopVolume(GradientOutputStop stop, PMR.ColorLab.LiquidType liquidType)
+ {
+ var liquid = stop.OutputLiquids.SingleOrDefault(x => x.LiquidType == liquidType);
+ return liquid != null ? liquid.Volume : 0;
+ }
+
+ #endregion
+
/// <summary>
/// Aborts the current generation.
/// </summary>
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
index 6b08dff40..0fa8cc290 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
@@ -1836,10 +1836,17 @@ namespace Tango.Integration.Operation
if (GradientGenerationConfiguration != null && GradientGenerationConfiguration.IsEnabled && segment.BrushStops.Count > 1)
{
LogManager.Log($"Generate segment {segment.SegmentIndex} gradient...");
- stops = GradientGenerationConfiguration.Generate(segment, job, processParameters, (e) =>
+ try
{
- PreparingJobProgress?.Invoke(this, e);
- });
+ stops = GradientGenerationConfiguration.Generate(segment, job, processParameters, (e) =>
+ {
+ PreparingJobProgress?.Invoke(this, e);
+ });
+ }
+ catch (Exception ex)
+ {
+ throw new InvalidOperationException($"Error occurred while trying to generate a gradient.\n{ex.Message}");
+ }
LogManager.Log($"Gradient generated.");
PreparingJobProgress?.Invoke(this, new PreparingJobProgressEventArgs()
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xml b/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xml
index 4bcfeb09f..6db1eb778 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xml
+++ b/Software/Visual_Studio/Tango.SQLExaminer/SQLExaminer/Configurations/OverrideData.xml
Binary files differ