aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Software/DB/Tango.mdfbin75497472 -> 75497472 bytes
-rw-r--r--Software/DB/Tango_log.ldfbin22675456 -> 22675456 bytes
-rw-r--r--Software/PMR/Messages/ColorLab/ColorMeasurement.proto17
-rw-r--r--Software/PMR/Messages/ColorLab/ConversionInput.proto7
-rw-r--r--Software/PMR/Messages/ColorLab/InputLiquid.proto2
-rw-r--r--Software/PMR/Messages/ColorLab/LiquidType.proto14
-rw-r--r--Software/PMR/Messages/Printing/DispenserLiquidType.proto14
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml6
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs16
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs26
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorConversionView.xaml50
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml159
-rw-r--r--Software/Visual_Studio/Tango.BL/DTO/BrushStopDTOBase.cs64
-rw-r--r--Software/Visual_Studio/Tango.BL/DTO/LiquidTypeDTOBase.cs8
-rw-r--r--Software/Visual_Studio/Tango.BL/DTO/RmlDTOBase.cs40
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/BrushStopBase.cs304
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/LiquidTypeBase.cs38
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/Rml.cs34
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/RmlBase.cs190
-rw-r--r--Software/Visual_Studio/Tango.BL/Enumerations/CMYKVPredictionMethods.cs21
-rw-r--r--Software/Visual_Studio/Tango.BL/Enumerations/CMYKVPredictionTypes.cs23
-rw-r--r--Software/Visual_Studio/Tango.BL/Enumerations/LiquidTypes.cs42
-rw-r--r--Software/Visual_Studio/Tango.BL/Tango.BL.csproj4
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYK.cs10
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYKV.cs7
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYKVColorConverter.cs121
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYKVMeasurement.cs8
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/DemoData.cs47
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/ExtensionMethods.cs21
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/IColorPrediction.cs11
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/KNearestNeighborsPrediction.cs97
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/LAB.cs21
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/LinearInterpolationPrediction.cs155
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/LinearRegressionPrediction.cs104
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/RGB.cs21
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/CMYKV/SplineInterpolationPrediction.cs58
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/ColorBlending/BlendableColor.cs29
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/ColorBlending/ColorBlender.cs48
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs337
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/ExtensionMethods/ConversionInputExtensions.cs18
-rw-r--r--Software/Visual_Studio/Tango.ColorConversion/Tango.ColorConversion.csproj15
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/BRUSH_STOPS.cs8
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID_TYPES.cs1
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs5
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx42
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram186
-rw-r--r--Software/Visual_Studio/Tango.PMR/ColorLab/ColorMeasurement.cs357
-rw-r--r--Software/Visual_Studio/Tango.PMR/ColorLab/ConversionInput.cs197
-rw-r--r--Software/Visual_Studio/Tango.PMR/ColorLab/InputLiquid.cs65
-rw-r--r--Software/Visual_Studio/Tango.PMR/ColorLab/LiquidType.cs15
-rw-r--r--Software/Visual_Studio/Tango.PMR/Printing/DispenserLiquidType.cs13
-rw-r--r--Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj3
52 files changed, 1028 insertions, 2071 deletions
diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf
index a5cff1f74..00ed1d0a2 100644
--- a/Software/DB/Tango.mdf
+++ b/Software/DB/Tango.mdf
Binary files differ
diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf
index e256469b7..6487eba8f 100644
--- a/Software/DB/Tango_log.ldf
+++ b/Software/DB/Tango_log.ldf
Binary files differ
diff --git a/Software/PMR/Messages/ColorLab/ColorMeasurement.proto b/Software/PMR/Messages/ColorLab/ColorMeasurement.proto
deleted file mode 100644
index a5e179f2f..000000000
--- a/Software/PMR/Messages/ColorLab/ColorMeasurement.proto
+++ /dev/null
@@ -1,17 +0,0 @@
-syntax = "proto3";
-
-package Tango.PMR.ColorLab;
-option java_package = "com.twine.tango.pmr.colorlab";
-
-message ColorMeasurement
-{
- double C = 1;
- double M = 2;
- double Y = 3;
- double K = 4;
- double V = 5;
-
- double L = 10;
- double A = 11;
- double B = 12;
-} \ No newline at end of file
diff --git a/Software/PMR/Messages/ColorLab/ConversionInput.proto b/Software/PMR/Messages/ColorLab/ConversionInput.proto
index 1b45ac5cf..601a231a5 100644
--- a/Software/PMR/Messages/ColorLab/ConversionInput.proto
+++ b/Software/PMR/Messages/ColorLab/ConversionInput.proto
@@ -7,7 +7,6 @@ import "InputCoordinates.proto";
import "ColorSpace.proto";
import "ProcessRange.proto";
import "ConversionType.proto";
-import "ColorMeasurement.proto";
message ConversionInput
{
@@ -29,10 +28,4 @@ message ConversionInput
bytes LubData = 16;
bool UseLubricantTransform = 17;
ConversionType ConversionType = 18;
- int32 CMYKVPredictionType = 19;
- int32 CMYKVPredictionMethod = 20;
- double CMYKVHueThreshhold = 21;
- double CMYKV_K = 22;
- double SimpleRGBPreviewFactor = 23;
- repeated ColorMeasurement ColorMeasurements = 24;
} \ No newline at end of file
diff --git a/Software/PMR/Messages/ColorLab/InputLiquid.proto b/Software/PMR/Messages/ColorLab/InputLiquid.proto
index add34e2eb..5fb8523bf 100644
--- a/Software/PMR/Messages/ColorLab/InputLiquid.proto
+++ b/Software/PMR/Messages/ColorLab/InputLiquid.proto
@@ -12,4 +12,6 @@ message InputLiquid
CalibrationData CalibrationData = 2;
double MaxNanoliterPerCentimeter = 3;
double Volume = 4;
+ bool IsExtraInk = 5;
+ int32 Color = 6;
} \ No newline at end of file
diff --git a/Software/PMR/Messages/ColorLab/LiquidType.proto b/Software/PMR/Messages/ColorLab/LiquidType.proto
index 8ca966062..ba57de125 100644
--- a/Software/PMR/Messages/ColorLab/LiquidType.proto
+++ b/Software/PMR/Messages/ColorLab/LiquidType.proto
@@ -38,4 +38,18 @@ enum LiquidType
Violet = 10;
+ Blue = 11;
+
+ LightBlue = 12;
+
+ Orange = 13;
+
+ LightOrange = 14;
+
+ Rubine = 15;
+
+ LightRubine = 16;
+
+ Navy = 17;
+
}
diff --git a/Software/PMR/Messages/Printing/DispenserLiquidType.proto b/Software/PMR/Messages/Printing/DispenserLiquidType.proto
index b362b3f00..5472f18e0 100644
--- a/Software/PMR/Messages/Printing/DispenserLiquidType.proto
+++ b/Software/PMR/Messages/Printing/DispenserLiquidType.proto
@@ -38,4 +38,18 @@ enum DispenserLiquidType
Violet = 10;
+ Blue = 11;
+
+ LightBlue = 12;
+
+ Orange = 13;
+
+ LightOrange = 14;
+
+ Rubine = 15;
+
+ LightRubine = 16;
+
+ Navy = 17;
+
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml
index c9842d494..5d9325145 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml
@@ -802,7 +802,9 @@
<Grid HorizontalAlignment="Right" Margin="0 0 0 0">
<StackPanel HorizontalAlignment="Right" Margin="0 0 0 0">
<StackPanel Margin="0 10 0 0" Orientation="Horizontal" VerticalAlignment="Center">
- <ItemsControl ItemsSource="{Binding LiquidTypesRmlsOrdered}" IsEnabled="{Binding AuthenticationProvider.CurrentUser,Converter={StaticResource UserRoleToBooleanConverter},ConverterParameter='Researcher'}">
+
+ <Viewbox Width="700" MaxHeight="65" HorizontalAlignment="Right">
+ <ItemsControl ItemsSource="{Binding LiquidTypesRmlsOrdered}" IsEnabled="{Binding AuthenticationProvider.CurrentUser,Converter={StaticResource UserRoleToBooleanConverter},ConverterParameter='Researcher'}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel IsItemsHost="True"></WrapPanel>
@@ -828,7 +830,7 @@
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
-
+ </Viewbox>
<StackPanel Margin="0 20 0 0">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0 0 0 5" ToolTip="Sort the liquid volumes by their liquid type preferred index">
<Viewbox Width="25">
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs
index be7dc3a67..b9e2ebf5d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorConversionViewVM.cs
@@ -248,12 +248,6 @@ namespace Tango.MachineStudio.RML.ViewModels
input.UseLubricantTransform = RML.UseLubricantTransform;
input.VMax = RML.VMax;
- input.SetPredictionType(RML.PredictionType);
- input.SetPredictionMethod(RML.PredictionMethod);
- input.CMYKVHueThreshhold = RML.CmykvHueThreshold;
- input.CMYKVK = RML.KNearestK;
- input.SimpleRGBPreviewFactor = RML.SimpleRgbPreviewFactor;
-
//Validate calibration data
foreach (var vm in LiquidsCalibrationData.Where(x => x.LiquidType.HasPigment))
{
@@ -288,6 +282,8 @@ namespace Tango.MachineStudio.RML.ViewModels
inputLiquid.LiquidType = (PMR.ColorLab.LiquidType)vm.LiquidType.Code;
inputLiquid.MaxNanoliterPerCentimeter = LiquidTypesRmls.SingleOrDefault(x => x.LiquidType.Code == vm.LiquidType.Code).MaxNlPerCm;
+ inputLiquid.IsExtraInk = vm.LiquidType.IsExtraInk;
+ inputLiquid.Color = vm.LiquidType.Color;
input.InputCoordinates.InputLiquids.Add(inputLiquid);
}
@@ -393,12 +389,6 @@ namespace Tango.MachineStudio.RML.ViewModels
input.UseLubricantTransform = RML.UseLubricantTransform;
input.VMax = RML.VMax;
- input.SetPredictionType(RML.PredictionType);
- input.SetPredictionMethod(RML.PredictionMethod);
- input.CMYKVHueThreshhold = RML.CmykvHueThreshold;
- input.CMYKVK = RML.KNearestK;
- input.SimpleRGBPreviewFactor = RML.SimpleRgbPreviewFactor;
-
foreach (var vm in LiquidsCalibrationData.Where(x => x.LiquidType.HasPigment))
{
InputLiquid inputLiquid = new InputLiquid();
@@ -412,6 +402,8 @@ namespace Tango.MachineStudio.RML.ViewModels
inputLiquid.LiquidType = (PMR.ColorLab.LiquidType)vm.LiquidType.Code;
inputLiquid.MaxNanoliterPerCentimeter = LiquidTypesRmls.SingleOrDefault(x => x.LiquidType.Code == vm.LiquidType.Code).MaxNlPerCm;
inputLiquid.Volume = LiquidVolumes.SingleOrDefault(x => x.LiquidType == vm.LiquidType).Volume;
+ inputLiquid.IsExtraInk = vm.LiquidType.IsExtraInk;
+ inputLiquid.Color = vm.LiquidType.Color;
input.InputCoordinates.InputLiquids.Add(inputLiquid);
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs
index db0d7e2aa..0962cd4d1 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs
@@ -350,31 +350,7 @@ namespace Tango.MachineStudio.RML.ViewModels
public override async void OnApplicationReady()
{
- using (_notification.PushTaskItem("Loading color measurements..."))
- {
- using (var db = ObservablesContext.CreateDefault())
- {
- var measurements = await db.ColorMeasurements.ToListAsync();
-
- List<PMR.ColorLab.ColorMeasurement> pmrMeasurements = new List<PMR.ColorLab.ColorMeasurement>();
- foreach (var m in measurements)
- {
- pmrMeasurements.Add(new PMR.ColorLab.ColorMeasurement()
- {
- C = m.C,
- M = m.M,
- Y = m.Y,
- K = m.K,
- V = m.V,
- L = m.L,
- A = m.A,
- B = m.B,
- });
- }
-
- DefaultColorConverter.SetMeasurements(pmrMeasurements);
- }
- }
+
}
private async Task LoadRmls()
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorConversionView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorConversionView.xaml
index c3816e93f..a86707319 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorConversionView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/ColorConversionView.xaml
@@ -243,7 +243,8 @@
</StackPanel>
</StackPanel>
- <ItemsControl ItemsSource="{Binding LiquidVolumes}" VerticalAlignment="Center" MinWidth="420" >
+ <Viewbox MaxHeight="80" HorizontalAlignment="Right">
+ <ItemsControl ItemsSource="{Binding LiquidVolumes}" VerticalAlignment="Center">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel VerticalAlignment="Center" Orientation="Horizontal" IsItemsHost="True"></StackPanel>
@@ -267,6 +268,7 @@
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
+ </Viewbox>
<Image Source="../Images/arrow-long-down.png" Grid.Column="1" Grid.Row="1" Margin="0 0 10 -170" Height="70" Width="40" Opacity="0.8" Stretch="Fill" HorizontalAlignment="Right" ></Image>
<TextBlock FontSize="14" FontWeight="SemiBold" FontStyle="Italic" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0 0 0 15">
@@ -284,30 +286,32 @@
</StackPanel>
</StackPanel>
- <ItemsControl ItemsSource="{Binding LiquidVolumes}" VerticalAlignment="Center" MinWidth="420" IsEnabled="{Binding IsFree}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <StackPanel VerticalAlignment="Center" Orientation="Horizontal" IsItemsHost="True"></StackPanel>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <StackPanel>
- <TextBlock HorizontalAlignment="Center" TextAlignment="Center" Text="{Binding Name}" FontSize="10" Margin="0 0 0 5"></TextBlock>
- <ContentControl Focusable="False" Style="{StaticResource numberBorder}" Width="60" Height="60" Margin="10 0 0 0">
- <ContentControl.Foreground>
- <SolidColorBrush Color="{Binding Color,Converter={StaticResource ColorToIntegerConverter}}"></SolidColorBrush>
- </ContentControl.Foreground>
- <mahapps:NumericUpDown FontSize="16" FontFamily="{StaticResource digital-7}" HorizontalAlignment="Center" Value="{Binding Volume, Mode=TwoWay}" Background="Transparent" Width="40" StringFormat="0.00" HideUpDownButtons="True" Minimum="0" Maximum="1000" InterceptArrowKeys="True" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Center">
- <!--<mahapps:NumericUpDown.Resources>
+ <Viewbox MaxHeight="80" HorizontalAlignment="Right">
+ <ItemsControl ItemsSource="{Binding LiquidVolumes}" VerticalAlignment="Center" IsEnabled="{Binding IsFree}">
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <StackPanel VerticalAlignment="Center" Orientation="Horizontal" IsItemsHost="True"></StackPanel>
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <StackPanel>
+ <TextBlock HorizontalAlignment="Center" TextAlignment="Center" Text="{Binding Name}" FontSize="10" Margin="0 0 0 5"></TextBlock>
+ <ContentControl Focusable="False" Style="{StaticResource numberBorder}" Width="60" Height="60" Margin="10 0 0 0">
+ <ContentControl.Foreground>
+ <SolidColorBrush Color="{Binding Color,Converter={StaticResource ColorToIntegerConverter}}"></SolidColorBrush>
+ </ContentControl.Foreground>
+ <mahapps:NumericUpDown FontSize="16" FontFamily="{StaticResource digital-7}" HorizontalAlignment="Center" Value="{Binding Volume, Mode=TwoWay}" Background="Transparent" Width="40" StringFormat="0.00" HideUpDownButtons="True" Minimum="0" Maximum="1000" InterceptArrowKeys="True" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Center">
+ <!--<mahapps:NumericUpDown.Resources>
<StaticResource ResourceKey="SelectAllTextBoxResource"></StaticResource>
</mahapps:NumericUpDown.Resources>-->
- </mahapps:NumericUpDown>
- </ContentControl>
- </StackPanel>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
+ </mahapps:NumericUpDown>
+ </ContentControl>
+ </StackPanel>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+ </Viewbox>
</StackPanel>
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 cdacbae60..8447a3899 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
@@ -227,107 +227,82 @@
<Grid DockPanel.Dock="Top" Background="#35B5B5B5" Margin="20 0">
<ScrollViewer HorizontalScrollBarVisibility="Disabled">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
- <Grid>
- <StackPanel Orientation="Vertical" HorizontalAlignment="Left">
- <Image Source="../Images/data-table.png" Height="20" Opacity="0.8" ></Image>
- <StackPanel VerticalAlignment="Center" Margin="5 20 5 10">
+ <Grid>
+ <StackPanel Orientation="Vertical" HorizontalAlignment="Left">
+ <Image Source="../Images/data-table.png" Height="20" Opacity="0.8" ></Image>
+ <StackPanel VerticalAlignment="Center" Margin="5 20 5 10">
- <StackPanel>
<StackPanel>
- <ComboBox materialDesign:HintAssist.Hint="No CCT Defined" Margin="0 5 0 0" HorizontalContentAlignment="Center" ItemsSource="{Binding CCTS}" SelectedItem="{Binding SelectedCCT}" DisplayMemberPath="FileName" Style="{StaticResource TransparentComboBoxStyle}"></ComboBox>
- <UniformGrid Columns="2" Margin="0 5 0 0" HorizontalAlignment="Center">
- <Button Style="{StaticResource MaterialDesignFlatButton}" Padding="0" Command="{Binding ImportForwardDataCommand}">
- <StackPanel Orientation="Horizontal" Margin="0 0 20 0">
- <materialDesign:PackIcon Kind="Upload" VerticalAlignment="Center" />
- <TextBlock Margin="5 0 0 0">IMPORT</TextBlock>
- </StackPanel>
- </Button>
- <Button Style="{StaticResource MaterialDesignFlatButton}" Padding="0" Command="{Binding ExportForwardDataCommand}">
- <StackPanel Orientation="Horizontal">
- <materialDesign:PackIcon Kind="Download" VerticalAlignment="Center" />
- <TextBlock Margin="5 0 0 0">EXPORT</TextBlock>
- </StackPanel>
- </Button>
- </UniformGrid>
- </StackPanel>
+ <StackPanel>
+ <ComboBox materialDesign:HintAssist.Hint="No CCT Defined" Margin="0 5 0 0" HorizontalContentAlignment="Center" ItemsSource="{Binding CCTS}" SelectedItem="{Binding SelectedCCT}" DisplayMemberPath="FileName" Style="{StaticResource TransparentComboBoxStyle}"></ComboBox>
+ <UniformGrid Columns="2" Margin="0 5 0 0" HorizontalAlignment="Center">
+ <Button Style="{StaticResource MaterialDesignFlatButton}" Padding="0" Command="{Binding ImportForwardDataCommand}">
+ <StackPanel Orientation="Horizontal" Margin="0 0 20 0">
+ <materialDesign:PackIcon Kind="Upload" VerticalAlignment="Center" />
+ <TextBlock Margin="5 0 0 0">IMPORT</TextBlock>
+ </StackPanel>
+ </Button>
+ <Button Style="{StaticResource MaterialDesignFlatButton}" Padding="0" Command="{Binding ExportForwardDataCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="Download" VerticalAlignment="Center" />
+ <TextBlock Margin="5 0 0 0">EXPORT</TextBlock>
+ </StackPanel>
+ </Button>
+ </UniformGrid>
+ </StackPanel>
- <StackPanel>
- <ComboBox materialDesign:HintAssist.Hint="No GBD Defined" Margin="0 5 0 0" HorizontalContentAlignment="Center" ItemsSource="{Binding GBDS}" SelectedItem="{Binding SelectedGBD}" DisplayMemberPath="FileName" Style="{StaticResource TransparentComboBoxStyle}"></ComboBox>
- <UniformGrid Columns="2" Margin="0 5 0 0" HorizontalAlignment="Center">
- <Button Style="{StaticResource MaterialDesignFlatButton}" Padding="0" Command="{Binding ImportGBDCommand}">
- <StackPanel Orientation="Horizontal" Margin="0 0 20 0">
- <materialDesign:PackIcon Kind="Upload" VerticalAlignment="Center" />
- <TextBlock Margin="5 0 0 0">IMPORT</TextBlock>
- </StackPanel>
- </Button>
- <Button Style="{StaticResource MaterialDesignFlatButton}" Padding="0" Command="{Binding ExportGBDCommand}">
- <StackPanel Orientation="Horizontal">
- <materialDesign:PackIcon Kind="Download" VerticalAlignment="Center" />
- <TextBlock Margin="5 0 0 0">EXPORT</TextBlock>
- </StackPanel>
- </Button>
- </UniformGrid>
- </StackPanel>
+ <StackPanel>
+ <ComboBox materialDesign:HintAssist.Hint="No GBD Defined" Margin="0 5 0 0" HorizontalContentAlignment="Center" ItemsSource="{Binding GBDS}" SelectedItem="{Binding SelectedGBD}" DisplayMemberPath="FileName" Style="{StaticResource TransparentComboBoxStyle}"></ComboBox>
+ <UniformGrid Columns="2" Margin="0 5 0 0" HorizontalAlignment="Center">
+ <Button Style="{StaticResource MaterialDesignFlatButton}" Padding="0" Command="{Binding ImportGBDCommand}">
+ <StackPanel Orientation="Horizontal" Margin="0 0 20 0">
+ <materialDesign:PackIcon Kind="Upload" VerticalAlignment="Center" />
+ <TextBlock Margin="5 0 0 0">IMPORT</TextBlock>
+ </StackPanel>
+ </Button>
+ <Button Style="{StaticResource MaterialDesignFlatButton}" Padding="0" Command="{Binding ExportGBDCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="Download" VerticalAlignment="Center" />
+ <TextBlock Margin="5 0 0 0">EXPORT</TextBlock>
+ </StackPanel>
+ </Button>
+ </UniformGrid>
+ </StackPanel>
- <StackPanel>
- <ComboBox materialDesign:HintAssist.Hint="No LUB Defined" Margin="0 5 0 0" HorizontalContentAlignment="Center" ItemsSource="{Binding LUBS}" SelectedItem="{Binding SelectedLUB}" DisplayMemberPath="FileName" Style="{StaticResource TransparentComboBoxStyle}"></ComboBox>
- <UniformGrid Columns="2" Margin="0 5 0 0" HorizontalAlignment="Center">
- <Button Style="{StaticResource MaterialDesignFlatButton}" Padding="0" Command="{Binding ImportLUBCommand}">
- <StackPanel Orientation="Horizontal" Margin="0 0 20 0">
- <materialDesign:PackIcon Kind="Upload" VerticalAlignment="Center" />
- <TextBlock Margin="5 0 0 0">IMPORT</TextBlock>
- </StackPanel>
- </Button>
- <Button Style="{StaticResource MaterialDesignFlatButton}" Padding="0" Command="{Binding ExportLUBCommand}">
- <StackPanel Orientation="Horizontal">
- <materialDesign:PackIcon Kind="Download" VerticalAlignment="Center" />
- <TextBlock Margin="5 0 0 0">EXPORT</TextBlock>
- </StackPanel>
- </Button>
- </UniformGrid>
+ <StackPanel>
+ <ComboBox materialDesign:HintAssist.Hint="No LUB Defined" Margin="0 5 0 0" HorizontalContentAlignment="Center" ItemsSource="{Binding LUBS}" SelectedItem="{Binding SelectedLUB}" DisplayMemberPath="FileName" Style="{StaticResource TransparentComboBoxStyle}"></ComboBox>
+ <UniformGrid Columns="2" Margin="0 5 0 0" HorizontalAlignment="Center">
+ <Button Style="{StaticResource MaterialDesignFlatButton}" Padding="0" Command="{Binding ImportLUBCommand}">
+ <StackPanel Orientation="Horizontal" Margin="0 0 20 0">
+ <materialDesign:PackIcon Kind="Upload" VerticalAlignment="Center" />
+ <TextBlock Margin="5 0 0 0">IMPORT</TextBlock>
+ </StackPanel>
+ </Button>
+ <Button Style="{StaticResource MaterialDesignFlatButton}" Padding="0" Command="{Binding ExportLUBCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="Download" VerticalAlignment="Center" />
+ <TextBlock Margin="5 0 0 0">EXPORT</TextBlock>
+ </StackPanel>
+ </Button>
+ </UniformGrid>
+ </StackPanel>
</StackPanel>
- </StackPanel>
-
- <TextBlock Margin="0 20 0 0" Text="Color Conversion Version:" HorizontalAlignment="Center"></TextBlock>
- <mahapps:NumericUpDown Minimum="1" Maximum="6" 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="Left" Margin="0 20 0 0">Enable Gradient Generation</CheckBox>
- <CheckBox ToolTip="Use light inks when converting colors to liquid volumes" IsChecked="{Binding ActiveRML.UseLightInks}" HorizontalAlignment="Left" Margin="0 10 0 0">Use Light Inks</CheckBox>
- <CheckBox ToolTip="Use lubricant transformation when converting to liquid volumes" IsChecked="{Binding ActiveRML.UseLubricantTransform}" HorizontalAlignment="Left" Margin="0 10 0 0">Use Lubricant Transform</CheckBox>
+ <TextBlock Margin="0 20 0 0" Text="Color Conversion Version:" HorizontalAlignment="Center"></TextBlock>
+ <mahapps:NumericUpDown Minimum="1" Maximum="6" Value="{Binding ActiveRML.ColorConversionVersion}" HorizontalContentAlignment="Center" Background="Transparent" BorderBrush="{StaticResource DimGrayBrush}" HasDecimals="False" Margin="0 5 0 0" />
- <DockPanel Margin="0 10 0 0">
- <TextBlock VerticalAlignment="Center" Text="V-Max:" ></TextBlock>
- <mahapps:NumericUpDown Minimum="1" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" HorizontalAlignment="Right" Width="100" Value="{Binding ActiveRML.VMax,Mode=TwoWay}"></mahapps:NumericUpDown>
- </DockPanel>
+ <CheckBox ToolTip="Use the color conversion engine to generate gradients" IsChecked="{Binding ActiveRML.UseColorLibGradients}" HorizontalAlignment="Left" Margin="0 20 0 0">Enable Gradient Generation</CheckBox>
+ <CheckBox ToolTip="Use light inks when converting colors to liquid volumes" IsChecked="{Binding ActiveRML.UseLightInks}" HorizontalAlignment="Left" Margin="0 10 0 0">Use Light Inks</CheckBox>
+ <CheckBox ToolTip="Use lubricant transformation when converting to liquid volumes" IsChecked="{Binding ActiveRML.UseLubricantTransform}" HorizontalAlignment="Left" Margin="0 10 0 0">Use Lubricant Transform</CheckBox>
- <Separator Margin="0 40 0 0" Foreground="Cyan" Background="Violet" Height="2" />
- <TextBlock Margin="0 10 0 0" Text="CMYKV Prediction Type" FontSize="10"></TextBlock>
- <ComboBox Margin="0 5 0 0" Style="{StaticResource TransparentComboBoxStyle}" ItemsSource="{Binding Source={x:Type enumerations:CMYKVPredictionTypes},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValue="{Binding ActiveRML.PredictionType}" SelectedValuePath="Value" DisplayMemberPath="DisplayName"></ComboBox>
-
- <StackPanel Visibility="{Binding ActiveRML.PredictionType,Converter={StaticResource EnumToVisibilityConverter},ConverterParameter='Predict_CMYKV,Predict_RGB,PredictAll'}">
- <TextBlock Margin="0 20 0 0" Text="CMYKV Prediction Method" FontSize="10"></TextBlock>
- <ComboBox Margin="0 5 0 0" Style="{StaticResource TransparentComboBoxStyle}" ItemsSource="{Binding Source={x:Type enumerations:CMYKVPredictionMethods},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValue="{Binding ActiveRML.PredictionMethod}" SelectedValuePath="Value" DisplayMemberPath="DisplayName"></ComboBox>
-
- <StackPanel Margin="0 20 0 0" Visibility="{Binding ActiveRML.PredictionMethod,Converter={StaticResource EnumToVisibilityConverter},ConverterParameter='KNearestNeighbors'}">
- <TextBlock FontSize="10" Text="K-Value:"></TextBlock>
- <mahapps:NumericUpDown Minimum="5" Maximum="1000" Value="{Binding ActiveRML.KNearestK}" HorizontalContentAlignment="Center" Background="Transparent" BorderBrush="{StaticResource DimGrayBrush}" HasDecimals="False" Margin="0 5 0 0" />
- </StackPanel>
-
- <TextBlock FontSize="10" Margin="0 20 0 0" Text="Hue Threshold:"></TextBlock>
- <mahapps:NumericUpDown Minimum="0" Maximum="360" Value="{Binding ActiveRML.CmykvHueThreshold}" HorizontalContentAlignment="Center" Background="Transparent" BorderBrush="{StaticResource DimGrayBrush}" HasDecimals="True" Margin="0 5 0 0" />
- </StackPanel>
-
- <StackPanel Visibility="{Binding ActiveRML.PredictionType,Converter={StaticResource EnumToVisibilityConverter},ConverterParameter='SimpleRGBPreview'}">
- <TextBlock FontSize="10" Margin="0 20 0 0">
- <Run>Blending Factor:</Run>
- <Run Text="{Binding ActiveRML.SimpleRgbPreviewFactor,StringFormat=N2,Mode=OneWay}"></Run>
- </TextBlock>
- <Slider Minimum="0.1" Maximum="1" Value="{Binding ActiveRML.SimpleRgbPreviewFactor}" Margin="0 5 0 0" SmallChange="0.01" />
- </StackPanel>
+ <DockPanel Margin="0 10 0 0">
+ <TextBlock VerticalAlignment="Center" Text="V-Max:" ></TextBlock>
+ <mahapps:NumericUpDown Minimum="1" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" HorizontalAlignment="Right" Width="100" Value="{Binding ActiveRML.VMax,Mode=TwoWay}"></mahapps:NumericUpDown>
+ </DockPanel>
</StackPanel>
- </StackPanel>
- </Grid>
- </StackPanel>
+ </StackPanel>
+ </Grid>
+ </StackPanel>
</ScrollViewer>
</Grid>
</DockPanel>
diff --git a/Software/Visual_Studio/Tango.BL/DTO/BrushStopDTOBase.cs b/Software/Visual_Studio/Tango.BL/DTO/BrushStopDTOBase.cs
index de8dfdb08..5fae54af4 100644
--- a/Software/Visual_Studio/Tango.BL/DTO/BrushStopDTOBase.cs
+++ b/Software/Visual_Studio/Tango.BL/DTO/BrushStopDTOBase.cs
@@ -326,6 +326,70 @@ namespace Tango.BL.DTO
}
/// <summary>
+ /// v12
+ /// </summary>
+ public Double V12
+ {
+ get; set;
+ }
+
+ /// <summary>
+ /// v12 div
+ /// </summary>
+ public Int32 V12Div
+ {
+ get; set;
+ }
+
+ /// <summary>
+ /// v13
+ /// </summary>
+ public Double V13
+ {
+ get; set;
+ }
+
+ /// <summary>
+ /// v13 div
+ /// </summary>
+ public Int32 V13Div
+ {
+ get; set;
+ }
+
+ /// <summary>
+ /// v14
+ /// </summary>
+ public Double V14
+ {
+ get; set;
+ }
+
+ /// <summary>
+ /// v14 div
+ /// </summary>
+ public Int32 V14Div
+ {
+ get; set;
+ }
+
+ /// <summary>
+ /// v15
+ /// </summary>
+ public Double V15
+ {
+ get; set;
+ }
+
+ /// <summary>
+ /// v15 div
+ /// </summary>
+ public Int32 V15Div
+ {
+ get; set;
+ }
+
+ /// <summary>
/// corrected
/// </summary>
public Boolean Corrected
diff --git a/Software/Visual_Studio/Tango.BL/DTO/LiquidTypeDTOBase.cs b/Software/Visual_Studio/Tango.BL/DTO/LiquidTypeDTOBase.cs
index 265d68789..1cb00d6bc 100644
--- a/Software/Visual_Studio/Tango.BL/DTO/LiquidTypeDTOBase.cs
+++ b/Software/Visual_Studio/Tango.BL/DTO/LiquidTypeDTOBase.cs
@@ -85,5 +85,13 @@ namespace Tango.BL.DTO
get; set;
}
+ /// <summary>
+ /// is extra ink
+ /// </summary>
+ public Boolean IsExtraInk
+ {
+ get; set;
+ }
+
}
}
diff --git a/Software/Visual_Studio/Tango.BL/DTO/RmlDTOBase.cs b/Software/Visual_Studio/Tango.BL/DTO/RmlDTOBase.cs
index 2b842f59b..e3b9f676c 100644
--- a/Software/Visual_Studio/Tango.BL/DTO/RmlDTOBase.cs
+++ b/Software/Visual_Studio/Tango.BL/DTO/RmlDTOBase.cs
@@ -437,45 +437,5 @@ namespace Tango.BL.DTO
get; set;
}
- /// <summary>
- /// cmykv prediction type
- /// </summary>
- public Int32 CmykvPredictionType
- {
- get; set;
- }
-
- /// <summary>
- /// cmykv prediction method
- /// </summary>
- public Int32 CmykvPredictionMethod
- {
- get; set;
- }
-
- /// <summary>
- /// cmykv hue threshold
- /// </summary>
- public Double CmykvHueThreshold
- {
- get; set;
- }
-
- /// <summary>
- /// k nearest k
- /// </summary>
- public Int32 KNearestK
- {
- get; set;
- }
-
- /// <summary>
- /// simple rgb preview factor
- /// </summary>
- public Double SimpleRgbPreviewFactor
- {
- get; set;
- }
-
}
}
diff --git a/Software/Visual_Studio/Tango.BL/Entities/BrushStopBase.cs b/Software/Visual_Studio/Tango.BL/Entities/BrushStopBase.cs
index 60de12338..864393461 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/BrushStopBase.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/BrushStopBase.cs
@@ -99,6 +99,22 @@ namespace Tango.BL.Entities
public event EventHandler<Int32> V11DivChanged;
+ public event EventHandler<Double> V12Changed;
+
+ public event EventHandler<Int32> V12DivChanged;
+
+ public event EventHandler<Double> V13Changed;
+
+ public event EventHandler<Int32> V13DivChanged;
+
+ public event EventHandler<Double> V14Changed;
+
+ public event EventHandler<Int32> V14DivChanged;
+
+ public event EventHandler<Double> V15Changed;
+
+ public event EventHandler<Int32> V15DivChanged;
+
public event EventHandler<Boolean> CorrectedChanged;
public event EventHandler<Boolean> IsTransparentChanged;
@@ -1141,6 +1157,222 @@ namespace Tango.BL.Entities
}
}
+ protected Double _v12;
+
+ /// <summary>
+ /// Gets or sets the brushstopbase v12.
+ /// </summary>
+
+ [Column("V12")]
+
+ public Double V12
+ {
+ get
+ {
+ return _v12;
+ }
+
+ set
+ {
+ if (_v12 != value)
+ {
+ _v12 = value;
+
+ OnV12Changed(value);
+
+ }
+ }
+ }
+
+ protected Int32 _v12div;
+
+ /// <summary>
+ /// Gets or sets the brushstopbase v12 div.
+ /// </summary>
+
+ [Column("V12_DIV")]
+
+ public Int32 V12Div
+ {
+ get
+ {
+ return _v12div;
+ }
+
+ set
+ {
+ if (_v12div != value)
+ {
+ _v12div = value;
+
+ OnV12DivChanged(value);
+
+ }
+ }
+ }
+
+ protected Double _v13;
+
+ /// <summary>
+ /// Gets or sets the brushstopbase v13.
+ /// </summary>
+
+ [Column("V13")]
+
+ public Double V13
+ {
+ get
+ {
+ return _v13;
+ }
+
+ set
+ {
+ if (_v13 != value)
+ {
+ _v13 = value;
+
+ OnV13Changed(value);
+
+ }
+ }
+ }
+
+ protected Int32 _v13div;
+
+ /// <summary>
+ /// Gets or sets the brushstopbase v13 div.
+ /// </summary>
+
+ [Column("V13_DIV")]
+
+ public Int32 V13Div
+ {
+ get
+ {
+ return _v13div;
+ }
+
+ set
+ {
+ if (_v13div != value)
+ {
+ _v13div = value;
+
+ OnV13DivChanged(value);
+
+ }
+ }
+ }
+
+ protected Double _v14;
+
+ /// <summary>
+ /// Gets or sets the brushstopbase v14.
+ /// </summary>
+
+ [Column("V14")]
+
+ public Double V14
+ {
+ get
+ {
+ return _v14;
+ }
+
+ set
+ {
+ if (_v14 != value)
+ {
+ _v14 = value;
+
+ OnV14Changed(value);
+
+ }
+ }
+ }
+
+ protected Int32 _v14div;
+
+ /// <summary>
+ /// Gets or sets the brushstopbase v14 div.
+ /// </summary>
+
+ [Column("V14_DIV")]
+
+ public Int32 V14Div
+ {
+ get
+ {
+ return _v14div;
+ }
+
+ set
+ {
+ if (_v14div != value)
+ {
+ _v14div = value;
+
+ OnV14DivChanged(value);
+
+ }
+ }
+ }
+
+ protected Double _v15;
+
+ /// <summary>
+ /// Gets or sets the brushstopbase v15.
+ /// </summary>
+
+ [Column("V15")]
+
+ public Double V15
+ {
+ get
+ {
+ return _v15;
+ }
+
+ set
+ {
+ if (_v15 != value)
+ {
+ _v15 = value;
+
+ OnV15Changed(value);
+
+ }
+ }
+ }
+
+ protected Int32 _v15div;
+
+ /// <summary>
+ /// Gets or sets the brushstopbase v15 div.
+ /// </summary>
+
+ [Column("V15_DIV")]
+
+ public Int32 V15Div
+ {
+ get
+ {
+ return _v15div;
+ }
+
+ set
+ {
+ if (_v15div != value)
+ {
+ _v15div = value;
+
+ OnV15DivChanged(value);
+
+ }
+ }
+ }
+
protected Boolean _corrected;
/// <summary>
@@ -1781,6 +2013,78 @@ namespace Tango.BL.Entities
}
/// <summary>
+ /// Called when the V12 has changed.
+ /// </summary>
+ protected virtual void OnV12Changed(Double v12)
+ {
+ V12Changed?.Invoke(this, v12);
+ RaisePropertyChanged(nameof(V12));
+ }
+
+ /// <summary>
+ /// Called when the V12Div has changed.
+ /// </summary>
+ protected virtual void OnV12DivChanged(Int32 v12div)
+ {
+ V12DivChanged?.Invoke(this, v12div);
+ RaisePropertyChanged(nameof(V12Div));
+ }
+
+ /// <summary>
+ /// Called when the V13 has changed.
+ /// </summary>
+ protected virtual void OnV13Changed(Double v13)
+ {
+ V13Changed?.Invoke(this, v13);
+ RaisePropertyChanged(nameof(V13));
+ }
+
+ /// <summary>
+ /// Called when the V13Div has changed.
+ /// </summary>
+ protected virtual void OnV13DivChanged(Int32 v13div)
+ {
+ V13DivChanged?.Invoke(this, v13div);
+ RaisePropertyChanged(nameof(V13Div));
+ }
+
+ /// <summary>
+ /// Called when the V14 has changed.
+ /// </summary>
+ protected virtual void OnV14Changed(Double v14)
+ {
+ V14Changed?.Invoke(this, v14);
+ RaisePropertyChanged(nameof(V14));
+ }
+
+ /// <summary>
+ /// Called when the V14Div has changed.
+ /// </summary>
+ protected virtual void OnV14DivChanged(Int32 v14div)
+ {
+ V14DivChanged?.Invoke(this, v14div);
+ RaisePropertyChanged(nameof(V14Div));
+ }
+
+ /// <summary>
+ /// Called when the V15 has changed.
+ /// </summary>
+ protected virtual void OnV15Changed(Double v15)
+ {
+ V15Changed?.Invoke(this, v15);
+ RaisePropertyChanged(nameof(V15));
+ }
+
+ /// <summary>
+ /// Called when the V15Div has changed.
+ /// </summary>
+ protected virtual void OnV15DivChanged(Int32 v15div)
+ {
+ V15DivChanged?.Invoke(this, v15div);
+ RaisePropertyChanged(nameof(V15Div));
+ }
+
+ /// <summary>
/// Called when the Corrected has changed.
/// </summary>
protected virtual void OnCorrectedChanged(Boolean corrected)
diff --git a/Software/Visual_Studio/Tango.BL/Entities/LiquidTypeBase.cs b/Software/Visual_Studio/Tango.BL/Entities/LiquidTypeBase.cs
index ea4d18f9b..bfdc8cfb7 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/LiquidTypeBase.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/LiquidTypeBase.cs
@@ -43,6 +43,8 @@ namespace Tango.BL.Entities
public event EventHandler<Boolean> AvailableForStandardUserChanged;
+ public event EventHandler<Boolean> IsExtraInkChanged;
+
public event EventHandler<SynchronizedObservableCollection<Cat>> CatsChanged;
public event EventHandler<SynchronizedObservableCollection<IdsPack>> IdsPacksChanged;
@@ -267,6 +269,33 @@ namespace Tango.BL.Entities
}
}
+ protected Boolean _isextraink;
+
+ /// <summary>
+ /// Gets or sets the liquidtypebase is extra ink.
+ /// </summary>
+
+ [Column("IS_EXTRA_INK")]
+
+ public Boolean IsExtraInk
+ {
+ get
+ {
+ return _isextraink;
+ }
+
+ set
+ {
+ if (_isextraink != value)
+ {
+ _isextraink = value;
+
+ OnIsExtraInkChanged(value);
+
+ }
+ }
+ }
+
protected SynchronizedObservableCollection<Cat> _cats;
/// <summary>
@@ -440,6 +469,15 @@ namespace Tango.BL.Entities
}
/// <summary>
+ /// Called when the IsExtraInk has changed.
+ /// </summary>
+ protected virtual void OnIsExtraInkChanged(Boolean isextraink)
+ {
+ IsExtraInkChanged?.Invoke(this, isextraink);
+ RaisePropertyChanged(nameof(IsExtraInk));
+ }
+
+ /// <summary>
/// Called when the Cats has changed.
/// </summary>
protected virtual void OnCatsChanged(SynchronizedObservableCollection<Cat> cats)
diff --git a/Software/Visual_Studio/Tango.BL/Entities/Rml.cs b/Software/Visual_Studio/Tango.BL/Entities/Rml.cs
index 9c672fd3b..fdeb8f05e 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/Rml.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/Rml.cs
@@ -342,39 +342,5 @@ namespace Tango.BL.Entities
}
#endregion
-
- #region CMYKV
-
- [NotMapped]
- [JsonIgnore]
- public CMYKVPredictionTypes PredictionType
- {
- get
- {
- return (CMYKVPredictionTypes)CmykvPredictionType;
- }
- set
- {
- CmykvPredictionType = value.ToInt32();
- RaisePropertyChangedAuto();
- }
- }
-
- [NotMapped]
- [JsonIgnore]
- public CMYKVPredictionMethods PredictionMethod
- {
- get
- {
- return (CMYKVPredictionMethods)CmykvPredictionMethod;
- }
- set
- {
- CmykvPredictionMethod = value.ToInt32();
- RaisePropertyChangedAuto();
- }
- }
-
- #endregion
}
}
diff --git a/Software/Visual_Studio/Tango.BL/Entities/RmlBase.cs b/Software/Visual_Studio/Tango.BL/Entities/RmlBase.cs
index ec34e0254..17b29d691 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/RmlBase.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/RmlBase.cs
@@ -109,16 +109,6 @@ namespace Tango.BL.Entities
public event EventHandler<Double> BtsrTensionErrorChanged;
- public event EventHandler<Int32> CmykvPredictionTypeChanged;
-
- public event EventHandler<Int32> CmykvPredictionMethodChanged;
-
- public event EventHandler<Double> CmykvHueThresholdChanged;
-
- public event EventHandler<Int32> KNearestKChanged;
-
- public event EventHandler<Double> SimpleRgbPreviewFactorChanged;
-
public event EventHandler<BtsrApplicationType> BtsrApplicationTypeChanged;
public event EventHandler<BtsrYarnType> BtsrYarnTypeChanged;
@@ -1550,141 +1540,6 @@ namespace Tango.BL.Entities
}
}
- protected Int32 _cmykvpredictiontype;
-
- /// <summary>
- /// Gets or sets the rmlbase cmykv prediction type.
- /// </summary>
-
- [Column("CMYKV_PREDICTION_TYPE")]
-
- public Int32 CmykvPredictionType
- {
- get
- {
- return _cmykvpredictiontype;
- }
-
- set
- {
- if (_cmykvpredictiontype != value)
- {
- _cmykvpredictiontype = value;
-
- OnCmykvPredictionTypeChanged(value);
-
- }
- }
- }
-
- protected Int32 _cmykvpredictionmethod;
-
- /// <summary>
- /// Gets or sets the rmlbase cmykv prediction method.
- /// </summary>
-
- [Column("CMYKV_PREDICTION_METHOD")]
-
- public Int32 CmykvPredictionMethod
- {
- get
- {
- return _cmykvpredictionmethod;
- }
-
- set
- {
- if (_cmykvpredictionmethod != value)
- {
- _cmykvpredictionmethod = value;
-
- OnCmykvPredictionMethodChanged(value);
-
- }
- }
- }
-
- protected Double _cmykvhuethreshold;
-
- /// <summary>
- /// Gets or sets the rmlbase cmykv hue threshold.
- /// </summary>
-
- [Column("CMYKV_HUE_THRESHOLD")]
-
- public Double CmykvHueThreshold
- {
- get
- {
- return _cmykvhuethreshold;
- }
-
- set
- {
- if (_cmykvhuethreshold != value)
- {
- _cmykvhuethreshold = value;
-
- OnCmykvHueThresholdChanged(value);
-
- }
- }
- }
-
- protected Int32 _knearestk;
-
- /// <summary>
- /// Gets or sets the rmlbase k nearest k.
- /// </summary>
-
- [Column("K_NEAREST_K")]
-
- public Int32 KNearestK
- {
- get
- {
- return _knearestk;
- }
-
- set
- {
- if (_knearestk != value)
- {
- _knearestk = value;
-
- OnKNearestKChanged(value);
-
- }
- }
- }
-
- protected Double _simplergbpreviewfactor;
-
- /// <summary>
- /// Gets or sets the rmlbase simple rgb preview factor.
- /// </summary>
-
- [Column("SIMPLE_RGB_PREVIEW_FACTOR")]
-
- public Double SimpleRgbPreviewFactor
- {
- get
- {
- return _simplergbpreviewfactor;
- }
-
- set
- {
- if (_simplergbpreviewfactor != value)
- {
- _simplergbpreviewfactor = value;
-
- OnSimpleRgbPreviewFactorChanged(value);
-
- }
- }
- }
-
protected BtsrApplicationType _btsrapplicationtype;
/// <summary>
@@ -2607,51 +2462,6 @@ namespace Tango.BL.Entities
}
/// <summary>
- /// Called when the CmykvPredictionType has changed.
- /// </summary>
- protected virtual void OnCmykvPredictionTypeChanged(Int32 cmykvpredictiontype)
- {
- CmykvPredictionTypeChanged?.Invoke(this, cmykvpredictiontype);
- RaisePropertyChanged(nameof(CmykvPredictionType));
- }
-
- /// <summary>
- /// Called when the CmykvPredictionMethod has changed.
- /// </summary>
- protected virtual void OnCmykvPredictionMethodChanged(Int32 cmykvpredictionmethod)
- {
- CmykvPredictionMethodChanged?.Invoke(this, cmykvpredictionmethod);
- RaisePropertyChanged(nameof(CmykvPredictionMethod));
- }
-
- /// <summary>
- /// Called when the CmykvHueThreshold has changed.
- /// </summary>
- protected virtual void OnCmykvHueThresholdChanged(Double cmykvhuethreshold)
- {
- CmykvHueThresholdChanged?.Invoke(this, cmykvhuethreshold);
- RaisePropertyChanged(nameof(CmykvHueThreshold));
- }
-
- /// <summary>
- /// Called when the KNearestK has changed.
- /// </summary>
- protected virtual void OnKNearestKChanged(Int32 knearestk)
- {
- KNearestKChanged?.Invoke(this, knearestk);
- RaisePropertyChanged(nameof(KNearestK));
- }
-
- /// <summary>
- /// Called when the SimpleRgbPreviewFactor has changed.
- /// </summary>
- protected virtual void OnSimpleRgbPreviewFactorChanged(Double simplergbpreviewfactor)
- {
- SimpleRgbPreviewFactorChanged?.Invoke(this, simplergbpreviewfactor);
- RaisePropertyChanged(nameof(SimpleRgbPreviewFactor));
- }
-
- /// <summary>
/// Called when the BtsrApplicationType has changed.
/// </summary>
protected virtual void OnBtsrApplicationTypeChanged(BtsrApplicationType btsrapplicationtype)
diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/CMYKVPredictionMethods.cs b/Software/Visual_Studio/Tango.BL/Enumerations/CMYKVPredictionMethods.cs
deleted file mode 100644
index 0b97b34bf..000000000
--- a/Software/Visual_Studio/Tango.BL/Enumerations/CMYKVPredictionMethods.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tango.BL.Enumerations
-{
- public enum CMYKVPredictionMethods
- {
- [Description("K-Nearest Neighbors (KNN)")]
- KNearestNeighbors = 0,
- [Description("Linear Interpolation")]
- LinearInterpolation = 1,
- [Description("Linear Regression")]
- LinearRegression = 2,
- [Description("Spline Interpolation")]
- SplineInterpolation = 3
- }
-}
diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/CMYKVPredictionTypes.cs b/Software/Visual_Studio/Tango.BL/Enumerations/CMYKVPredictionTypes.cs
deleted file mode 100644
index 7d83e1f63..000000000
--- a/Software/Visual_Studio/Tango.BL/Enumerations/CMYKVPredictionTypes.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tango.BL.Enumerations
-{
- public enum CMYKVPredictionTypes
- {
- [Description("None")]
- None = 0,
- [Description("Predict CMYKV")]
- Predict_CMYKV = 1,
- [Description("Predict RGB")]
- Predict_RGB = 2,
- [Description("Predict All")]
- PredictAll = 3,
- [Description("Simple RGB Preview")]
- SimpleRGBPreview = 4,
- }
-}
diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/LiquidTypes.cs b/Software/Visual_Studio/Tango.BL/Enumerations/LiquidTypes.cs
index 5d84ad683..07b46869e 100644
--- a/Software/Visual_Studio/Tango.BL/Enumerations/LiquidTypes.cs
+++ b/Software/Visual_Studio/Tango.BL/Enumerations/LiquidTypes.cs
@@ -56,6 +56,48 @@ namespace Tango.BL.Enumerations
LightMagenta = 8,
/// <summary>
+ /// (Blue)
+ /// </summary>
+ [Description("Blue")]
+ Blue = 11,
+
+ /// <summary>
+ /// (Light Blue)
+ /// </summary>
+ [Description("Light Blue")]
+ LightBlue = 12,
+
+ /// <summary>
+ /// (Orange)
+ /// </summary>
+ [Description("Orange")]
+ Orange = 13,
+
+ /// <summary>
+ /// (Light Orange)
+ /// </summary>
+ [Description("Light Orange")]
+ LightOrange = 14,
+
+ /// <summary>
+ /// (Rubine)
+ /// </summary>
+ [Description("Rubine")]
+ Rubine = 15,
+
+ /// <summary>
+ /// (Light Rubine)
+ /// </summary>
+ [Description("Light Rubine")]
+ LightRubine = 16,
+
+ /// <summary>
+ /// (Navy)
+ /// </summary>
+ [Description("Navy")]
+ Navy = 17,
+
+ /// <summary>
/// (Light Yellow)
/// </summary>
[Description("Light Yellow")]
diff --git a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
index 9fc04b814..dabc0455e 100644
--- a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
+++ b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
@@ -586,8 +586,6 @@
<Compile Include="Enumerations\BtsrApplicationTypes.cs" />
<Compile Include="Enumerations\BtsrYarnTypes.cs" />
<Compile Include="Enumerations\CatalogDesignType.cs" />
- <Compile Include="Enumerations\CMYKVPredictionMethods.cs" />
- <Compile Include="Enumerations\CMYKVPredictionTypes.cs" />
<Compile Include="Enumerations\ColorCatalogsItems.cs" />
<Compile Include="Enumerations\FactorColors.cs" />
<Compile Include="Enumerations\FSEBuildVariants.cs" />
@@ -839,7 +837,7 @@
</Target>
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYK.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYK.cs
deleted file mode 100644
index a720fe5c3..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYK.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace Tango.ColorConversion
-{
- public class CMYK
- {
- public double C { get; set; }
- public double M { get; set; }
- public double Y { get; set; }
- public double K { get; set; }
- }
-}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYKV.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYKV.cs
deleted file mode 100644
index fecfdb5c4..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYKV.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace Tango.ColorConversion
-{
- public class CMYKV : CMYK
- {
- public double V { get; set; }
- }
-}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYKVColorConverter.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYKVColorConverter.cs
deleted file mode 100644
index bcb12602f..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYKVColorConverter.cs
+++ /dev/null
@@ -1,121 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Tango.BL.Enumerations;
-
-namespace Tango.ColorConversion
-{
- public class CMYKVColorConverter
- {
- public List<CMYKVMeasurement> Measurements = new List<CMYKVMeasurement>();
- private int _k;
-
- public CMYKVColorConverter(int k = 5)
- {
- _k = k;
- }
-
- public void AddMeasurement(CMYKV cmykv, LAB lab)
- {
- Measurements.Add(new CMYKVMeasurement { CMYKV = cmykv, LAB = lab });
- }
-
- public CMYKV ConvertRGBToCMYKV(RGB rgb, CMYKVPredictionMethods method)
- {
- IColorPrediction predictionMethod = GetPredictionMethod(method);
- return predictionMethod.ConvertRGBToCMYKV(rgb);
- }
-
- public CMYKV ConvertLABToCMYKV(LAB lab, CMYKVPredictionMethods method)
- {
- IColorPrediction predictionMethod = GetPredictionMethod(method);
- return predictionMethod.PredictLABToCMYKV(lab);
- }
-
- public RGB ConvertCMYKVToRGB(CMYKV cmykv, CMYKVPredictionMethods method)
- {
- IColorPrediction predictionMethod = GetPredictionMethod(method);
- return predictionMethod.PredictCMYKVToRGB(cmykv);
- }
-
- public LAB ConvertCMYKVToLAB(CMYKV cmykv, CMYKVPredictionMethods method)
- {
- IColorPrediction predictionMethod = GetPredictionMethod(method);
- return predictionMethod.PredictCMYKVToLAB(cmykv);
- }
-
- private IColorPrediction GetPredictionMethod(CMYKVPredictionMethods method)
- {
- switch (method)
- {
- case CMYKVPredictionMethods.KNearestNeighbors:
- return new KNearestNeighborsPrediction(Measurements, _k);
- case CMYKVPredictionMethods.LinearInterpolation:
- return new LinearInterpolationPrediction(Measurements);
- case CMYKVPredictionMethods.LinearRegression:
- return new LinearRegressionPrediction(Measurements);
- //case CMYKVPredictionMethods.SplineInterpolation:
- //return new SplineInterpolationPrediction(measurements);
- default:
- throw new System.Exception("Unsupported prediction method");
- }
- }
-
- private RGB MergeRGB(RGB baseRGB, RGB violetAdjustedRGB)
- {
- // Merge the base CMYK-derived RGB with the Violet-adjusted RGB.
- // Here we can take the average of the values or a weighted blend.
- return new RGB
- {
- R = (baseRGB.R + violetAdjustedRGB.R) / 2,
- G = (baseRGB.G + violetAdjustedRGB.G) / 2,
- B = (baseRGB.B + violetAdjustedRGB.B) / 2
- };
- }
-
- public double CalculateHueFromRGB(RGB rgb)
- {
- double r = rgb.R; // Keep 0-255 range
- double g = rgb.G;
- double b = rgb.B;
-
- double max = Math.Max(r, Math.Max(g, b));
- double min = Math.Min(r, Math.Min(g, b));
-
- double hue = 0;
-
- if (max == min)
- {
- hue = 0; // Gray
- }
- else if (max == r)
- {
- hue = (60 * ((g - b) / (max - min)) + 360) % 360;
- }
- else if (max == g)
- {
- hue = (60 * ((b - r) / (max - min)) + 120) % 360;
- }
- else if (max == b)
- {
- hue = (60 * ((r - g) / (max - min)) + 240) % 360;
- }
-
- return hue;
- }
-
- public bool ShouldUseViolet(RGB rgb, double hueThreshold = 270.0)
- {
- double hue = CalculateHueFromRGB(rgb);
-
- // Trigger Violet if hue is within a range near purple
- return hue >= hueThreshold && hue <= 300;
- }
-
-
- private float GetHue(RGB rgb)
- {
- return (float)Math.Atan2(Math.Sqrt(3) * (rgb.G - rgb.B), 2 * rgb.R - rgb.G - rgb.B);
- }
- }
-}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYKVMeasurement.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYKVMeasurement.cs
deleted file mode 100644
index 533ca0cc2..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/CMYKVMeasurement.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace Tango.ColorConversion
-{
- public class CMYKVMeasurement
- {
- public CMYKV CMYKV { get; set; }
- public LAB LAB { get; set; }
- }
-}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/DemoData.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/DemoData.cs
deleted file mode 100644
index ea0c91c1c..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/DemoData.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace Tango.ColorConversion
-{
- public class DemoData
- {
- public List<CMYKVMeasurement> GetData()
- {
- var data = new List<CMYKVMeasurement>();
-
- Random rand = new Random();
-
- for (int i = 0; i < 100; i++)
- {
- // Random CMYKV values between 0 and 100 (representing % ink coverage)
- double C = rand.NextDouble() * 100;
- double M = rand.NextDouble() * 100;
- double Y = rand.NextDouble() * 100;
- double K = rand.NextDouble() * 100;
- double V = rand.NextDouble() * 100;
-
- // Simulate LAB values based on CMYKV (simplified simulation)
- // In a real-world scenario, you'd derive these from actual measurements.
- // For now, I simulate LAB by assuming that lightness (L) decreases as more ink (K) is added,
- // and A, B values are influenced by C, M, Y components.
-
- double L = 100 - K - (C + M + Y) * 0.3; // Simulating lightness decrease with more ink
- double A = C * 0.5 - M * 0.5; // Simulating red-green axis
- double B = Y * 0.6 - V * 0.4; // Simulating yellow-blue axis
-
- // Clamp LAB values within realistic ranges (L: 0-100, A/B: -128 to 127)
- L = L.Clamp(0, 100);
- A = A.Clamp(-128, 127);
- B = B.Clamp(-128, 127);
-
- data.Add(new CMYKVMeasurement
- {
- CMYKV = new CMYKV { C = C, M = M, Y = Y, K = K, V = V },
- LAB = new LAB { L = L, A = A, B = B }
- });
- }
-
- return data;
- }
- }
-} \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/ExtensionMethods.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/ExtensionMethods.cs
deleted file mode 100644
index 4aa4c477a..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/ExtensionMethods.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Tango.ColorConversion;
-
-public static class ExtensionMethods
-{
- public static RGB ToRGB(this LAB lab)
- {
- var rgb = new ColorMine.ColorSpaces.Lab(lab.L, lab.A, lab.B).To<ColorMine.ColorSpaces.Rgb>();
- return new RGB(rgb.R, rgb.G, rgb.B);
- }
-
- public static LAB ToLAB(this RGB rgb)
- {
- var lab = new ColorMine.ColorSpaces.Rgb(rgb.R, rgb.G, rgb.B).To<ColorMine.ColorSpaces.Lab>();
- return new LAB(lab.L, lab.A, lab.B);
- }
-}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/IColorPrediction.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/IColorPrediction.cs
deleted file mode 100644
index c2ec22132..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/IColorPrediction.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-
-namespace Tango.ColorConversion
-{
- public interface IColorPrediction
- {
- CMYKV ConvertRGBToCMYKV(RGB rgb);
- CMYKV PredictLABToCMYKV(LAB lab);
- RGB PredictCMYKVToRGB(CMYKV cmykv);
- LAB PredictCMYKVToLAB(CMYKV cmykv);
- }
-}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/KNearestNeighborsPrediction.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/KNearestNeighborsPrediction.cs
deleted file mode 100644
index 5ceb4b63a..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/KNearestNeighborsPrediction.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace Tango.ColorConversion
-{
- public class KNearestNeighborsPrediction : IColorPrediction
- {
- private List<CMYKVMeasurement> measurements;
- private int k;
-
- public KNearestNeighborsPrediction(List<CMYKVMeasurement> measurements, int k = 3)
- {
- this.measurements = measurements;
- this.k = k;
- }
-
- // Predict CMYKV from RGB by first converting RGB to LAB
- public CMYKV ConvertRGBToCMYKV(RGB rgb)
- {
- // Convert RGB to LAB
- LAB lab = rgb.ToLAB();
-
- // Now predict CMYKV using the LAB prediction method
- return PredictLABToCMYKV(lab);
- }
-
- // Predict CMYKV from LAB (directly use LAB measurements)
- public CMYKV PredictLABToCMYKV(LAB lab)
- {
- var nearestNeighbors = measurements
- .OrderBy(m => EuclideanDistanceLAB(lab, m.LAB))
- .Take(k)
- .ToList();
-
- return AverageCMYKV(nearestNeighbors);
- }
-
- // Predict RGB from CMYKV by first predicting LAB, then converting LAB to RGB
- public RGB PredictCMYKVToRGB(CMYKV cmykv)
- {
- // Predict LAB from CMYKV
- LAB lab = PredictCMYKVToLAB(cmykv);
-
- // Convert LAB to RGB
- return lab.ToRGB();
- }
-
- // Predict LAB from CMYKV using nearest neighbors
- public LAB PredictCMYKVToLAB(CMYKV cmykv)
- {
- var nearestNeighbors = measurements
- .OrderBy(m => EuclideanDistanceCMYKV(cmykv, m.CMYKV))
- .Take(k)
- .ToList();
-
- return AverageLAB(nearestNeighbors);
- }
-
- // Calculate Euclidean distance for LAB
- private double EuclideanDistanceLAB(LAB lab1, LAB lab2)
- {
- return Math.Sqrt(Math.Pow(lab1.L - lab2.L, 2) + Math.Pow(lab1.A - lab2.A, 2) + Math.Pow(lab1.B - lab2.B, 2));
- }
-
- // Calculate Euclidean distance for CMYKV
- private double EuclideanDistanceCMYKV(CMYKV cmykv1, CMYKV cmykv2)
- {
- return Math.Sqrt(Math.Pow(cmykv1.C - cmykv2.C, 2) + Math.Pow(cmykv1.M - cmykv2.M, 2) +
- Math.Pow(cmykv1.Y - cmykv2.Y, 2) + Math.Pow(cmykv1.K - cmykv2.K, 2) +
- Math.Pow(cmykv1.V - cmykv2.V, 2));
- }
-
- // Helper method to average CMYKV values from the k nearest neighbors
- private CMYKV AverageCMYKV(List<CMYKVMeasurement> neighbors)
- {
- double C = neighbors.Average(m => m.CMYKV.C);
- double M = neighbors.Average(m => m.CMYKV.M);
- double Y = neighbors.Average(m => m.CMYKV.Y);
- double K = neighbors.Average(m => m.CMYKV.K);
- double V = neighbors.Average(m => m.CMYKV.V);
-
- return new CMYKV { C = C, M = M, Y = Y, K = K, V = V };
- }
-
- // Helper method to average LAB values from the k nearest neighbors
- private LAB AverageLAB(List<CMYKVMeasurement> neighbors)
- {
- double L = neighbors.Average(m => m.LAB.L);
- double A = neighbors.Average(m => m.LAB.A);
- double B = neighbors.Average(m => m.LAB.B);
-
- return new LAB { L = L, A = A, B = B };
- }
- }
-
-}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/LAB.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/LAB.cs
deleted file mode 100644
index a34bee539..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/LAB.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-namespace Tango.ColorConversion
-{
- public class LAB
- {
- public LAB()
- {
-
- }
-
- public LAB(double l, double a, double b) : this()
- {
- L = l;
- A = a;
- B = b;
- }
-
- public double L { get; set; }
- public double A { get; set; }
- public double B { get; set; }
- }
-}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/LinearInterpolationPrediction.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/LinearInterpolationPrediction.cs
deleted file mode 100644
index 3db69bb9c..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/LinearInterpolationPrediction.cs
+++ /dev/null
@@ -1,155 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace Tango.ColorConversion
-{
- public class LinearInterpolationPrediction : IColorPrediction
- {
- private List<CMYKVMeasurement> measurements;
-
- public LinearInterpolationPrediction(List<CMYKVMeasurement> measurements)
- {
- this.measurements = measurements;
- }
-
- // Predict CMYKV from RGB by first converting RGB to LAB and then interpolating
- public CMYKV ConvertRGBToCMYKV(RGB rgb)
- {
- // Convert RGB to LAB
- LAB lab = rgb.ToLAB();
-
- // Interpolate based on LAB
- return PredictLABToCMYKV(lab);
- }
-
- // Predict CMYKV from LAB using linear interpolation
- public CMYKV PredictLABToCMYKV(LAB lab)
- {
- // Find the two closest measurements based on LAB distance
- var lowerBound = FindLowerBoundLAB(lab);
- var upperBound = FindUpperBoundLAB(lab);
-
- // Calculate interpolation factor 't'
- double t = CalculateInterpolationFactorLAB(lab, lowerBound.LAB, upperBound.LAB);
-
- // Perform linear interpolation between the two closest CMYKV values
- return InterpolateCMYKV(lowerBound.CMYKV, upperBound.CMYKV, t);
- }
-
- // Predict RGB from CMYKV by first predicting LAB, then converting LAB to RGB
- public RGB PredictCMYKVToRGB(CMYKV cmykv)
- {
- // Predict LAB using linear interpolation
- LAB lab = PredictCMYKVToLAB(cmykv);
-
- // Convert LAB to RGB
- return lab.ToRGB();
- }
-
- // Predict LAB from CMYKV using linear interpolation
- public LAB PredictCMYKVToLAB(CMYKV cmykv)
- {
- // Find the two closest measurements based on CMYKV distance
- var lowerBound = FindLowerBoundCMYKV(cmykv);
- var upperBound = FindUpperBoundCMYKV(cmykv);
-
- // Calculate interpolation factor 't'
- double t = CalculateInterpolationFactorCMYKV(cmykv, lowerBound.CMYKV, upperBound.CMYKV);
-
- // Perform linear interpolation between the two closest LAB values
- return InterpolateLAB(lowerBound.LAB, upperBound.LAB, t);
- }
-
- // Find the two closest LAB measurements below and above the input LAB
- private CMYKVMeasurement FindLowerBoundLAB(LAB lab)
- {
- return measurements
- .Where(m => EuclideanDistanceLAB(m.LAB, lab) <= 0)
- .OrderBy(m => EuclideanDistanceLAB(m.LAB, lab))
- .FirstOrDefault();
- }
-
- private CMYKVMeasurement FindUpperBoundLAB(LAB lab)
- {
- return measurements
- .Where(m => EuclideanDistanceLAB(m.LAB, lab) >= 0)
- .OrderBy(m => EuclideanDistanceLAB(m.LAB, lab))
- .FirstOrDefault();
- }
-
- // Find the two closest CMYKV measurements below and above the input CMYKV
- private CMYKVMeasurement FindLowerBoundCMYKV(CMYKV cmykv)
- {
- return measurements
- .Where(m => EuclideanDistanceCMYKV(m.CMYKV, cmykv) <= 0)
- .OrderBy(m => EuclideanDistanceCMYKV(m.CMYKV, cmykv))
- .FirstOrDefault();
- }
-
- private CMYKVMeasurement FindUpperBoundCMYKV(CMYKV cmykv)
- {
- return measurements
- .Where(m => EuclideanDistanceCMYKV(m.CMYKV, cmykv) >= 0)
- .OrderBy(m => EuclideanDistanceCMYKV(m.CMYKV, cmykv))
- .FirstOrDefault();
- }
-
- // Calculate the interpolation factor for LAB
- private double CalculateInterpolationFactorLAB(LAB input, LAB lower, LAB upper)
- {
- double distInputToLower = EuclideanDistanceLAB(input, lower);
- double distLowerToUpper = EuclideanDistanceLAB(lower, upper);
-
- return distInputToLower / distLowerToUpper;
- }
-
- // Calculate the interpolation factor for CMYKV
- private double CalculateInterpolationFactorCMYKV(CMYKV input, CMYKV lower, CMYKV upper)
- {
- double distInputToLower = EuclideanDistanceCMYKV(input, lower);
- double distLowerToUpper = EuclideanDistanceCMYKV(lower, upper);
-
- return distInputToLower / distLowerToUpper;
- }
-
- // Interpolate between two CMYKV values using factor t
- private CMYKV InterpolateCMYKV(CMYKV lower, CMYKV upper, double t)
- {
- return new CMYKV
- {
- C = lower.C + t * (upper.C - lower.C),
- M = lower.M + t * (upper.M - lower.M),
- Y = lower.Y + t * (upper.Y - lower.Y),
- K = lower.K + t * (upper.K - lower.K),
- V = lower.V + t * (upper.V - lower.V)
- };
- }
-
- // Interpolate between two LAB values using factor t
- private LAB InterpolateLAB(LAB lower, LAB upper, double t)
- {
- return new LAB
- {
- L = lower.L + t * (upper.L - lower.L),
- A = lower.A + t * (upper.A - lower.A),
- B = lower.B + t * (upper.B - lower.B)
- };
- }
-
- // Calculate Euclidean distance for LAB
- private double EuclideanDistanceLAB(LAB lab1, LAB lab2)
- {
- return Math.Sqrt(Math.Pow(lab1.L - lab2.L, 2) + Math.Pow(lab1.A - lab2.A, 2) + Math.Pow(lab1.B - lab2.B, 2));
- }
-
- // Calculate Euclidean distance for CMYKV
- private double EuclideanDistanceCMYKV(CMYKV cmykv1, CMYKV cmykv2)
- {
- return Math.Sqrt(Math.Pow(cmykv1.C - cmykv2.C, 2) + Math.Pow(cmykv1.M - cmykv2.M, 2) +
- Math.Pow(cmykv1.Y - cmykv2.Y, 2) + Math.Pow(cmykv1.K - cmykv2.K, 2) +
- Math.Pow(cmykv1.V - cmykv2.V, 2));
- }
- }
-
-}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/LinearRegressionPrediction.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/LinearRegressionPrediction.cs
deleted file mode 100644
index bf69f273a..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/LinearRegressionPrediction.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace Tango.ColorConversion
-{
- using MathNet.Numerics.LinearAlgebra;
-
- public class LinearRegressionPrediction : IColorPrediction
- {
- private List<CMYKVMeasurement> measurements;
- private double[,] coefficients;
-
- public LinearRegressionPrediction(List<CMYKVMeasurement> measurements)
- {
- this.measurements = measurements;
- coefficients = ComputeCoefficients();
- }
-
- public CMYKV ConvertRGBToCMYKV(RGB rgb)
- {
- var lab = rgb.ToLAB();
- return PerformLinearRegression(new double[] { lab.L, lab.A, lab.B });
- }
-
- public CMYKV PredictLABToCMYKV(LAB lab)
- {
- return PerformLinearRegression(new double[] { lab.L, lab.A, lab.B });
- }
-
- public RGB PredictCMYKVToRGB(CMYKV cmykv)
- {
- // First predict LAB, then convert to RGB
- LAB lab = PerformInverseRegressionLAB(cmykv);
- return lab.ToRGB();
- }
-
- public LAB PredictCMYKVToLAB(CMYKV cmykv)
- {
- return PerformInverseRegressionLAB(cmykv);
- }
-
- private CMYKV PerformLinearRegression(double[] input)
- {
- double C = coefficients[0, 0] + coefficients[0, 1] * input[0] + coefficients[0, 2] * input[1] + coefficients[0, 3] * input[2];
- double M = coefficients[1, 0] + coefficients[1, 1] * input[0] + coefficients[1, 2] * input[1] + coefficients[1, 3] * input[2];
- double Y = coefficients[2, 0] + coefficients[2, 1] * input[0] + coefficients[2, 2] * input[1] + coefficients[2, 3] * input[2];
- double K = coefficients[3, 0];
- double V = coefficients[4, 0];
-
- return new CMYKV { C = C, M = M, Y = Y, K = K, V = V };
- }
-
- // Inverse regression for LAB prediction from CMYKV
- private LAB PerformInverseRegressionLAB(CMYKV cmykv)
- {
- // Use CMYKV values to predict LAB using the regression coefficients
- double L = coefficients[0, 0] + coefficients[0, 1] * cmykv.C + coefficients[0, 2] * cmykv.M + coefficients[0, 3] * cmykv.Y;
- double A = coefficients[1, 0] + coefficients[1, 1] * cmykv.C + coefficients[1, 2] * cmykv.M + coefficients[1, 3] * cmykv.Y;
- double B = coefficients[2, 0] + coefficients[2, 1] * cmykv.C + coefficients[2, 2] * cmykv.M + coefficients[2, 3] * cmykv.Y;
-
- return new LAB { L = L, A = A, B = B };
- }
-
- // Now implementing the least-squares regression method based on LAB as input
- private double[,] ComputeCoefficients()
- {
- int n = measurements.Count;
-
- // Create matrix X (n x 4) for input values (LAB values plus intercept term)
- Matrix<double> X = Matrix<double>.Build.Dense(n, 4, (i, j) =>
- {
- if (j == 0) return measurements[i].LAB.L; // LAB input as the available property
- if (j == 1) return measurements[i].LAB.A;
- if (j == 2) return measurements[i].LAB.B;
- return 1.0; // Intercept term
- });
-
- // Create matrix Y (n x 5) for CMYKV values
- Matrix<double> Y = Matrix<double>.Build.Dense(n, 5, (i, j) =>
- {
- if (j == 0) return measurements[i].CMYKV.C;
- if (j == 1) return measurements[i].CMYKV.M;
- if (j == 2) return measurements[i].CMYKV.Y;
- if (j == 3) return measurements[i].CMYKV.K;
- return measurements[i].CMYKV.V;
- });
-
- // Compute the least-squares solution for the coefficients: β = (X^T X)^{-1} X^T Y
- Matrix<double> Xt = X.Transpose();
- Matrix<double> XtX = Xt * X;
- Matrix<double> XtX_inv = XtX.Inverse();
- Matrix<double> XtY = Xt * Y;
- Matrix<double> B = XtX_inv * XtY;
-
- // Convert the result to a double[,] array for easy access in the model
- return B.ToArray();
- }
- }
-
-
-
-
-}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/RGB.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/RGB.cs
deleted file mode 100644
index d59a76fb6..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/RGB.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-namespace Tango.ColorConversion
-{
- public class RGB
- {
- public RGB()
- {
-
- }
-
- public RGB(double r, double g, double b) : this()
- {
- R = r;
- G = g;
- B = b;
- }
-
- public double R { get; set; }
- public double G { get; set; }
- public double B { get; set; }
- }
-}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/SplineInterpolationPrediction.cs b/Software/Visual_Studio/Tango.ColorConversion/CMYKV/SplineInterpolationPrediction.cs
deleted file mode 100644
index 3b66d5d6c..000000000
--- a/Software/Visual_Studio/Tango.ColorConversion/CMYKV/SplineInterpolationPrediction.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using MathNet.Numerics.Interpolation;
-
-namespace Tango.ColorConversion
-{
- public class SplineInterpolationPrediction
- {
- public LAB Predict(CMYKV cmykv, List<CMYKVMeasurement> measurements)
- {
- // Spline interpolation logic: Perform cubic spline interpolation
- var cValues = measurements.Select(m => m.CMYKV.C).ToArray();
- var lValues = measurements.Select(m => m.LAB.L).ToArray();
- var aValues = measurements.Select(m => m.LAB.A).ToArray();
- var bValues = measurements.Select(m => m.LAB.B).ToArray();
-
- var lSpline = CubicSpline.InterpolateNatural(cValues, lValues);
- var aSpline = CubicSpline.InterpolateNatural(cValues, aValues);
- var bSpline = CubicSpline.InterpolateNatural(cValues, bValues);
-
- return new LAB
- {
- L = (float)lSpline.Interpolate(cmykv.C),
- A = (float)aSpline.Interpolate(cmykv.C),
- B = (float)bSpline.Interpolate(cmykv.C)
- };
- }
-
- public CMYKV PredictFromLAB(LAB lab, List<CMYKVMeasurement> measurements)
- {
- // Extract L values and corresponding CMYKV values for spline interpolation
- var lValues = measurements.Select(m => m.LAB.L).ToArray();
- var cValues = measurements.Select(m => m.CMYKV.C).ToArray();
- var mValues = measurements.Select(m => m.CMYKV.M).ToArray();
- var yValues = measurements.Select(m => m.CMYKV.Y).ToArray();
- var kValues = measurements.Select(m => m.CMYKV.K).ToArray();
- var vValues = measurements.Select(m => m.CMYKV.V).ToArray();
-
- // Create cubic splines for each component
- var cSpline = CubicSpline.InterpolateNatural(lValues, cValues);
- var mSpline = CubicSpline.InterpolateNatural(lValues, mValues);
- var ySpline = CubicSpline.InterpolateNatural(lValues, yValues);
- var kSpline = CubicSpline.InterpolateNatural(lValues, kValues);
- var vSpline = CubicSpline.InterpolateNatural(lValues, vValues);
-
- // Interpolate to get CMYKV values for the given LAB L value
- return new CMYKV
- {
- C = cSpline.Interpolate(lab.L),
- M = mSpline.Interpolate(lab.L),
- Y = ySpline.Interpolate(lab.L),
- K = kSpline.Interpolate(lab.L),
- V = vSpline.Interpolate(lab.L)
- };
- }
- }
-}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/ColorBlending/BlendableColor.cs b/Software/Visual_Studio/Tango.ColorConversion/ColorBlending/BlendableColor.cs
new file mode 100644
index 000000000..231c6602d
--- /dev/null
+++ b/Software/Visual_Studio/Tango.ColorConversion/ColorBlending/BlendableColor.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Media;
+using Tango.Core.Helpers;
+
+namespace Tango.ColorConversion.ColorBlending
+{
+ public class BlendableColor
+ {
+ // RGB Color
+ public Color Color { get; set; }
+ // Blending level (0 to 100)
+ public double Volume { get; set; }
+
+ public BlendableColor(Color color, double volume)
+ {
+ Color = color;
+ Volume = volume;
+ }
+
+ public BlendableColor(int color, double volume) : this(ColorHelper.IntegerToColor(color), volume)
+ {
+
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/ColorBlending/ColorBlender.cs b/Software/Visual_Studio/Tango.ColorConversion/ColorBlending/ColorBlender.cs
new file mode 100644
index 000000000..c344bdb08
--- /dev/null
+++ b/Software/Visual_Studio/Tango.ColorConversion/ColorBlending/ColorBlender.cs
@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Media;
+
+namespace Tango.ColorConversion.ColorBlending
+{
+ public class ColorBlender
+ {
+ public static Color BlendColors(Color baseColor, List<BlendableColor> colorsToBlend)
+ {
+ // Convert base color to [0, 1] range
+ double baseR = baseColor.R / 255.0;
+ double baseG = baseColor.G / 255.0;
+ double baseB = baseColor.B / 255.0;
+
+ // Initialize blended color with base color
+ double blendedR = baseR;
+ double blendedG = baseG;
+ double blendedB = baseB;
+
+ foreach (var blendableColor in colorsToBlend)
+ {
+ // Convert blendable color to [0, 1] range
+ double blendR = blendableColor.Color.R / 255.0;
+ double blendG = blendableColor.Color.G / 255.0;
+ double blendB = blendableColor.Color.B / 255.0;
+
+ // Calculate the weight factor (volume scaled to [0, 1])
+ double weight = blendableColor.Volume / 100.0;
+
+ // Apply subtractive blending
+ blendedR = blendedR * (1 - weight) + blendR * weight;
+ blendedG = blendedG * (1 - weight) + blendG * weight;
+ blendedB = blendedB * (1 - weight) + blendB * weight;
+ }
+
+ // Convert back to [0, 255] range and clamp
+ byte finalR = (byte)((blendedR * 255).Clamp(0, 255));
+ byte finalG = (byte)((blendedG * 255).Clamp(0, 255));
+ byte finalB = (byte)((blendedB * 255).Clamp(0, 255));
+
+ return Color.FromRgb(finalR, finalG, finalB);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs b/Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs
index bff01dd83..e6c28add5 100644
--- a/Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs
+++ b/Software/Visual_Studio/Tango.ColorConversion/DefaultColorConverter.cs
@@ -16,6 +16,7 @@ using Tango.Logging;
using System.IO;
using Tango.Core.Helpers;
using Tango.Settings;
+using Tango.ColorConversion.ColorBlending;
namespace Tango.ColorConversion
{
@@ -35,13 +36,6 @@ namespace Tango.ColorConversion
#region Color Conversion
- private static List<PMR.ColorLab.ColorMeasurement> _measurements = new List<PMR.ColorLab.ColorMeasurement>();
-
- public static void SetMeasurements(List<PMR.ColorLab.ColorMeasurement> measurements)
- {
- _measurements = measurements;
- }
-
public ConversionOutput Convert(ConversionInput conversionInput, int version)
{
if (version < 1) version = 1;
@@ -53,6 +47,41 @@ namespace Tango.ColorConversion
throw new FileNotFoundException($"Could not find color conversion library '{fileName}'.");
}
+ ConversionOutput output = new ConversionOutput();
+
+ List<PMR.ColorLab.LiquidType> checkInks = new List<PMR.ColorLab.LiquidType>()
+ {
+ PMR.ColorLab.LiquidType.Cyan,
+ PMR.ColorLab.LiquidType.Magenta,
+ PMR.ColorLab.LiquidType.Yellow,
+ PMR.ColorLab.LiquidType.Black,
+ PMR.ColorLab.LiquidType.LightCyan,
+ PMR.ColorLab.LiquidType.LightMagenta,
+ PMR.ColorLab.LiquidType.LightYellow,
+ PMR.ColorLab.LiquidType.Violet,
+ PMR.ColorLab.LiquidType.Blue,
+ PMR.ColorLab.LiquidType.LightBlue,
+ PMR.ColorLab.LiquidType.Orange,
+ PMR.ColorLab.LiquidType.LightOrange,
+ PMR.ColorLab.LiquidType.Rubine,
+ PMR.ColorLab.LiquidType.LightRubine,
+ PMR.ColorLab.LiquidType.Navy
+ };
+
+ foreach (var ink in checkInks)
+ {
+ if (!conversionInput.InputCoordinates.InputLiquids.Any(x => x.LiquidType == ink))
+ {
+ conversionInput.InputCoordinates.InputLiquids.Add(new InputLiquid()
+ {
+ CalibrationData = new CalibrationData(),
+ LiquidType = ink,
+ MaxNanoliterPerCentimeter = 2.4,
+ Volume = 0
+ });
+ }
+ }
+
IntPtr pDll = NativeMethods.LoadLibrary(fileName);
IntPtr pAddressOfFunctionToCall = NativeMethods.GetProcAddress(pDll, "Convert");
NativeMethodDelegate convert = (NativeMethodDelegate)Marshal.GetDelegateForFunctionPointer(
@@ -60,93 +89,55 @@ namespace Tango.ColorConversion
typeof(NativeMethodDelegate));
NativePMR<ConversionInput, ConversionOutput> nativePMR = new NativePMR<ConversionInput, ConversionOutput>(convert);
- ConversionOutput output = nativePMR.Invoke(conversionInput);
+ output = nativePMR.Invoke(conversionInput);
- if (conversionInput.GetPredictionType() != CMYKVPredictionTypes.None)
- {
- CMYKVColorConverter cmykvConverter = new CMYKVColorConverter((int)conversionInput.CMYKVK);
-
- //Custom Measurements
- if (conversionInput.ColorMeasurements.Count > 0)
- {
- foreach (var m in conversionInput.ColorMeasurements)
- {
- cmykvConverter.AddMeasurement(new CMYKV() { C = m.C, M = m.M, Y = m.Y, K = m.K, V = m.V }, new LAB(m.L, m.A, m.B));
- }
- }
- else //Global Measurements
- {
- foreach (var m in _measurements)
- {
- cmykvConverter.AddMeasurement(new CMYKV() { C = m.C, M = m.M, Y = m.Y, K = m.K, V = m.V }, new LAB(m.L, m.A, m.B));
- }
- }
+ bool result = NativeMethods.FreeLibrary(pDll);
+ if (output.HasError)
+ {
+ throw new ExternalException($"Color Conversion Error: {output.ErrorMessage}!");
+ }
- if (conversionInput.ColorSpace == PMR.ColorLab.ColorSpace.Volume)
+ if (conversionInput.ColorSpace == PMR.ColorLab.ColorSpace.Volume)
+ {
+ if (conversionInput.InputCoordinates.InputLiquids.Any(x => x.IsExtraInk && x.Volume > 0))
{
- var violetInput = conversionInput.InputCoordinates.InputLiquids.FirstOrDefault(x => x.LiquidType == PMR.ColorLab.LiquidType.Violet);
+ //Blend the extra ink volume to the output RGB and LAB.
+ List<BlendableColor> extraInkColors = new List<BlendableColor>();
- if (violetInput != null && violetInput.Volume > 0)
+ foreach (var input in conversionInput.InputCoordinates.InputLiquids.Where(x => x.IsExtraInk && x.Volume > 0))
{
- if (conversionInput.GetPredictionType() == CMYKVPredictionTypes.SimpleRGBPreview)
- {
- //Blend violet to best match color.
+ extraInkColors.Add(new BlendableColor(input.Color, input.Volume));
+ }
- if (conversionInput.SimpleRGBPreviewFactor == 0) conversionInput.SimpleRGBPreviewFactor = 1;
+ BlendOutputCoordinates(output.SingleCoordinates, extraInkColors);
- var color = BlendWithViolet(output.SingleCoordinates.Red, output.SingleCoordinates.Green, output.SingleCoordinates.Blue, (float)((violetInput.Volume * Math.Max(conversionInput.SimpleRGBPreviewFactor, 0.01)) / 100d));
- output.SingleCoordinates.Red = (int)color.R;
- output.SingleCoordinates.Green = (int)color.G;
- output.SingleCoordinates.Blue = (int)color.B;
- }
- else if (cmykvConverter.Measurements.Count > 0 && (conversionInput.GetPredictionType() == CMYKVPredictionTypes.Predict_RGB || conversionInput.GetPredictionType() == CMYKVPredictionTypes.PredictAll))
- {
- RGB rgb = cmykvConverter.ConvertCMYKVToRGB(CreateCMYKVFromConversionInput(conversionInput), conversionInput.GetPredictionMethod());
- output.SingleCoordinates.Red = (int)rgb.R;
- output.SingleCoordinates.Green = (int)rgb.G;
- output.SingleCoordinates.Blue = (int)rgb.B;
- }
- }
- }
- else if (conversionInput.ColorSpace == PMR.ColorLab.ColorSpace.Rgb && cmykvConverter.Measurements.Count > 0)
- {
- if (conversionInput.GetPredictionType() == CMYKVPredictionTypes.Predict_CMYKV || conversionInput.GetPredictionType() == CMYKVPredictionTypes.PredictAll)
+ if (conversionInput.GenerateHive)
{
- var rgb = new RGB(conversionInput.InputCoordinates.Red, conversionInput.InputCoordinates.Green, conversionInput.InputCoordinates.Blue);
- if (cmykvConverter.ShouldUseViolet(rgb, conversionInput.CMYKVHueThreshhold))
- {
- var cmykv = cmykvConverter.ConvertRGBToCMYKV(rgb, conversionInput.GetPredictionMethod());
- SetCMYKVToConversionOutput(cmykv, output);
- }
- else
+ foreach (var coords in output.HiveCoordinates)
{
- ResetVioletVolume(output);
+ BlendOutputCoordinates(coords, extraInkColors);
}
}
- else
- {
- ResetVioletVolume(output);
- }
}
- else
- {
- ResetVioletVolume(output);
- }
- }
- else if (conversionInput.ColorSpace != PMR.ColorLab.ColorSpace.Volume)
- {
- ResetVioletVolume(output);
}
- bool result = NativeMethods.FreeLibrary(pDll);
+ return output;
+ }
- if (output.HasError)
- {
- throw new ExternalException($"Color Conversion Error: {output.ErrorMessage}!");
- }
+ private void BlendOutputCoordinates(OutputCoordinates output, List<BlendableColor> blendableColors)
+ {
+ Color baseColor = Color.FromRgb((byte)output.Red, (byte)output.Green, (byte)output.Blue);
- return output;
+ var finalColor = ColorBlender.BlendColors(baseColor, blendableColors);
+ output.Red = finalColor.R;
+ output.Green = finalColor.G;
+ output.Blue = finalColor.B;
+
+ var lab = new ColorMine.ColorSpaces.Rgb(output.Red, output.Green, output.Blue).To<ColorMine.ColorSpaces.Lab>();
+ output.L = lab.L;
+ output.A = lab.A;
+ output.B = lab.B;
}
public ConversionOutput Convert(BrushStop stop, Configuration configuration, Rml rml, bool generateHive, bool lightInksInstalled, bool useLightInks = false, ConversionType conversionType = ConversionType.Default)
@@ -246,13 +237,6 @@ namespace Tango.ColorConversion
conversionInput.VMax = rml.VMax;
- //CMYKV
- conversionInput.SetPredictionType(rml.PredictionType);
- conversionInput.SetPredictionMethod(rml.PredictionMethod);
- conversionInput.CMYKVHueThreshhold = rml.CmykvHueThreshold;
- conversionInput.CMYKVK = rml.KNearestK;
- conversionInput.SimpleRGBPreviewFactor = rml.SimpleRgbPreviewFactor;
-
conversionInput.ForwardData = ByteString.CopyFrom(rml.Cct.Data);
if (rml.Gbd != null)
@@ -309,6 +293,8 @@ namespace Tango.ColorConversion
MaxNanoliterPerCentimeter = ids_pack.LiquidType.LiquidTypesRmls.Single(x => x.Rml == rml).MaxNlPerCm,
Volume = volume,
CalibrationData = calibrationData,
+ IsExtraInk = ids_pack.LiquidType.IsExtraInk,
+ Color = ids_pack.LiquidType.Color
});
}
@@ -1084,136 +1070,71 @@ namespace Tango.ColorConversion
private static Color Violet = Color.FromRgb(127, 0, 255);
- public static RGB BlendWithViolet(int r, int g, int b, float violetFactor)
- {
- // Ensure violetFactor is between 0.0 and 1.0
- violetFactor = violetFactor.Clamp(0.0f, 1.0f);
- // Violet color in RGB
- int violetR = Violet.R;
- int violetG = Violet.G;
- int violetB = Violet.B;
- // Blend the current color with violet using the factor
- int blendedR = (int)((r * (1 - violetFactor)) + (violetR * violetFactor));
- int blendedG = (int)((g * (1 - violetFactor)) + (violetG * violetFactor));
- int blendedB = (int)((b * (1 - violetFactor)) + (violetB * violetFactor));
+ //private void SetCMYKVToConversionOutput(ConversionOutput output)
+ //{
+ // var violetOutput = new OutputLiquid() { LiquidType = PMR.ColorLab.LiquidType.Violet, Volume = 0 };
+ // output.SingleCoordinates.OutputLiquids.Add(violetOutput);
- // Clamp values to 0-255 range
- blendedR = blendedR.Clamp(0, 255);
- blendedG = blendedG.Clamp(0, 255);
- blendedB = blendedB.Clamp(0, 255);
+ // foreach (var liquid in output.SingleCoordinates.OutputLiquids)
+ // {
+ // switch (liquid.LiquidType)
+ // {
+ // case PMR.ColorLab.LiquidType.Cyan:
+ // liquid.Volume = cmykv.C;
+ // break;
+ // case PMR.ColorLab.LiquidType.Magenta:
+ // liquid.Volume = cmykv.M;
+ // break;
+ // case PMR.ColorLab.LiquidType.Yellow:
+ // liquid.Volume = cmykv.Y;
+ // break;
+ // case PMR.ColorLab.LiquidType.Black:
+ // liquid.Volume = cmykv.K;
+ // break;
+ // case PMR.ColorLab.LiquidType.Violet:
+ // liquid.Volume = cmykv.V;
+ // break;
+ // default:
+ // break;
+ // }
+ // }
- return new RGB(blendedR, blendedG, blendedB);
- }
+ // if (output.HiveCoordinates.Count > 0)
+ // {
+ // var vOutput = new OutputLiquid() { LiquidType = PMR.ColorLab.LiquidType.Violet, Volume = 0 };
- private CMYKV CreateCMYKVFromConversionInput(ConversionInput input)
- {
- CMYKV cmykv = new CMYKV();
+ // foreach (var cell in output.HiveCoordinates)
+ // {
+ // cell.OutputLiquids.Add(vOutput);
- foreach (var liquid in input.InputCoordinates.InputLiquids)
- {
- switch (liquid.LiquidType)
- {
- case PMR.ColorLab.LiquidType.Cyan:
- cmykv.C = liquid.Volume;
- break;
- case PMR.ColorLab.LiquidType.Magenta:
- cmykv.M = liquid.Volume;
- break;
- case PMR.ColorLab.LiquidType.Yellow:
- cmykv.Y = liquid.Volume;
- break;
- case PMR.ColorLab.LiquidType.Black:
- cmykv.K = liquid.Volume;
- break;
- case PMR.ColorLab.LiquidType.Violet:
- cmykv.V = liquid.Volume;
- break;
- default:
- break;
- }
- }
-
- return cmykv;
- }
-
- private RGB CreateRGBFromConversionOutput(ConversionOutput output)
- {
- return new RGB(output.SingleCoordinates.Red, output.SingleCoordinates.Green, output.SingleCoordinates.Blue);
- }
-
- private void ResetVioletVolume(ConversionOutput output)
- {
- var violetOutput = new OutputLiquid() { LiquidType = PMR.ColorLab.LiquidType.Violet, Volume = 0 };
- output.SingleCoordinates.OutputLiquids.Add(violetOutput);
-
- output.HiveCoordinates.ToList().ForEach(x => x.OutputLiquids.Add(violetOutput));
- }
-
- private void SetCMYKVToConversionOutput(CMYKV cmykv, ConversionOutput output)
- {
- var violetOutput = new OutputLiquid() { LiquidType = PMR.ColorLab.LiquidType.Violet, Volume = 0 };
- output.SingleCoordinates.OutputLiquids.Add(violetOutput);
-
- foreach (var liquid in output.SingleCoordinates.OutputLiquids)
- {
- switch (liquid.LiquidType)
- {
- case PMR.ColorLab.LiquidType.Cyan:
- liquid.Volume = cmykv.C;
- break;
- case PMR.ColorLab.LiquidType.Magenta:
- liquid.Volume = cmykv.M;
- break;
- case PMR.ColorLab.LiquidType.Yellow:
- liquid.Volume = cmykv.Y;
- break;
- case PMR.ColorLab.LiquidType.Black:
- liquid.Volume = cmykv.K;
- break;
- case PMR.ColorLab.LiquidType.Violet:
- liquid.Volume = cmykv.V;
- break;
- default:
- break;
- }
- }
-
- if (output.HiveCoordinates.Count > 0)
- {
- var vOutput = new OutputLiquid() { LiquidType = PMR.ColorLab.LiquidType.Violet, Volume = 0 };
-
- foreach (var cell in output.HiveCoordinates)
- {
- cell.OutputLiquids.Add(vOutput);
-
- foreach (var liquid in cell.OutputLiquids)
- {
- switch (liquid.LiquidType)
- {
- case PMR.ColorLab.LiquidType.Cyan:
- liquid.Volume = cmykv.C;
- break;
- case PMR.ColorLab.LiquidType.Magenta:
- liquid.Volume = cmykv.M;
- break;
- case PMR.ColorLab.LiquidType.Yellow:
- liquid.Volume = cmykv.Y;
- break;
- case PMR.ColorLab.LiquidType.Black:
- liquid.Volume = cmykv.K;
- break;
- case PMR.ColorLab.LiquidType.Violet:
- liquid.Volume = cmykv.V;
- break;
- default:
- break;
- }
- }
- }
- }
- }
+ // foreach (var liquid in cell.OutputLiquids)
+ // {
+ // switch (liquid.LiquidType)
+ // {
+ // case PMR.ColorLab.LiquidType.Cyan:
+ // liquid.Volume = cmykv.C;
+ // break;
+ // case PMR.ColorLab.LiquidType.Magenta:
+ // liquid.Volume = cmykv.M;
+ // break;
+ // case PMR.ColorLab.LiquidType.Yellow:
+ // liquid.Volume = cmykv.Y;
+ // break;
+ // case PMR.ColorLab.LiquidType.Black:
+ // liquid.Volume = cmykv.K;
+ // break;
+ // case PMR.ColorLab.LiquidType.Violet:
+ // liquid.Volume = cmykv.V;
+ // break;
+ // default:
+ // break;
+ // }
+ // }
+ // }
+ // }
+ //}
#endregion
}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/ExtensionMethods/ConversionInputExtensions.cs b/Software/Visual_Studio/Tango.ColorConversion/ExtensionMethods/ConversionInputExtensions.cs
index 252a77fe2..d577df56d 100644
--- a/Software/Visual_Studio/Tango.ColorConversion/ExtensionMethods/ConversionInputExtensions.cs
+++ b/Software/Visual_Studio/Tango.ColorConversion/ExtensionMethods/ConversionInputExtensions.cs
@@ -8,23 +8,5 @@ using Tango.PMR.ColorLab;
public static class ConversionInputExtensions
{
- public static CMYKVPredictionTypes GetPredictionType(this ConversionInput conversionInput)
- {
- return (CMYKVPredictionTypes)conversionInput.CMYKVPredictionType;
- }
- public static CMYKVPredictionMethods GetPredictionMethod(this ConversionInput conversionInput)
- {
- return (CMYKVPredictionMethods)conversionInput.CMYKVPredictionMethod;
- }
-
- public static void SetPredictionType(this ConversionInput conversionInput, CMYKVPredictionTypes predictionType)
- {
- conversionInput.CMYKVPredictionType = predictionType.ToInt32();
- }
-
- public static void SetPredictionMethod(this ConversionInput conversionInput, CMYKVPredictionMethods predictionMethod)
- {
- conversionInput.CMYKVPredictionMethod = predictionMethod.ToInt32();
- }
}
diff --git a/Software/Visual_Studio/Tango.ColorConversion/Tango.ColorConversion.csproj b/Software/Visual_Studio/Tango.ColorConversion/Tango.ColorConversion.csproj
index bb1659381..f8c815d0a 100644
--- a/Software/Visual_Studio/Tango.ColorConversion/Tango.ColorConversion.csproj
+++ b/Software/Visual_Studio/Tango.ColorConversion/Tango.ColorConversion.csproj
@@ -51,19 +51,8 @@
<Compile Include="..\Versioning\GlobalVersionInfo.cs">
<Link>GlobalVersionInfo.cs</Link>
</Compile>
- <Compile Include="CMYKV\CMYK.cs" />
- <Compile Include="CMYKV\CMYKV.cs" />
- <Compile Include="CMYKV\CMYKVColorConverter.cs" />
- <Compile Include="CMYKV\CMYKVMeasurement.cs" />
- <Compile Include="CMYKV\DemoData.cs" />
- <Compile Include="CMYKV\ExtensionMethods.cs" />
- <Compile Include="CMYKV\IColorPrediction.cs" />
- <Compile Include="CMYKV\KNearestNeighborsPrediction.cs" />
- <Compile Include="CMYKV\LAB.cs" />
- <Compile Include="CMYKV\LinearInterpolationPrediction.cs" />
- <Compile Include="CMYKV\LinearRegressionPrediction.cs" />
- <Compile Include="CMYKV\RGB.cs" />
- <Compile Include="CMYKV\SplineInterpolationPrediction.cs" />
+ <Compile Include="ColorBlending\BlendableColor.cs" />
+ <Compile Include="ColorBlending\ColorBlender.cs" />
<Compile Include="ColorConversionSettings.cs" />
<Compile Include="ColorConversionSuggestion.cs" />
<Compile Include="DefaultColorConverter.cs" />
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/BRUSH_STOPS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/BRUSH_STOPS.cs
index b94e74a97..fe407a375 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/BRUSH_STOPS.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/BRUSH_STOPS.cs
@@ -55,6 +55,14 @@ namespace Tango.DAL.Remote.DB
public int V10_DIV { get; set; }
public double V11 { get; set; }
public int V11_DIV { get; set; }
+ public double V12 { get; set; }
+ public int V12_DIV { get; set; }
+ public double V13 { get; set; }
+ public int V13_DIV { get; set; }
+ public double V14 { get; set; }
+ public int V14_DIV { get; set; }
+ public double V15 { get; set; }
+ public int V15_DIV { get; set; }
public bool CORRECTED { get; set; }
public string COLOR_CATALOG_GUID { get; set; }
public string COLOR_CATALOGS_ITEM_GUID { get; set; }
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID_TYPES.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID_TYPES.cs
index c07b67e50..cf6a05620 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID_TYPES.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID_TYPES.cs
@@ -34,6 +34,7 @@ namespace Tango.DAL.Remote.DB
public bool HAS_PIGMENT { get; set; }
public string SHORT_NAME { get; set; }
public bool AVAILABLE_FOR_STANDARD_USER { get; set; }
+ public bool IS_EXTRA_INK { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<CAT> CATS { get; set; }
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs
index 90225e5f2..b1f71c687 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs
@@ -82,11 +82,6 @@ namespace Tango.DAL.Remote.DB
public string BTSR_APPLICATION_TYPE_GUID { get; set; }
public string BTSR_YARN_TYPE_GUID { get; set; }
public double BTSR_TENSION_ERROR { get; set; }
- public int CMYKV_PREDICTION_TYPE { get; set; }
- public int CMYKV_PREDICTION_METHOD { get; set; }
- public double CMYKV_HUE_THRESHOLD { get; set; }
- public int K_NEAREST_K { get; set; }
- public double SIMPLE_RGB_PREVIEW_FACTOR { get; set; }
public virtual BTSR_APPLICATION_TYPES BTSR_APPLICATION_TYPES { get; set; }
public virtual BTSR_YARN_TYPES BTSR_YARN_TYPES { 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 56b40d608..4484f520b 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
@@ -123,6 +123,14 @@
<Property Name="V10_DIV" Type="int" Nullable="false" />
<Property Name="V11" Type="float" Nullable="false" />
<Property Name="V11_DIV" Type="int" Nullable="false" />
+ <Property Name="V12" Type="float" Nullable="false" />
+ <Property Name="V12_DIV" Type="int" Nullable="false" />
+ <Property Name="V13" Type="float" Nullable="false" />
+ <Property Name="V13_DIV" Type="int" Nullable="false" />
+ <Property Name="V14" Type="float" Nullable="false" />
+ <Property Name="V14_DIV" Type="int" Nullable="false" />
+ <Property Name="V15" Type="float" Nullable="false" />
+ <Property Name="V15_DIV" Type="int" Nullable="false" />
<Property Name="CORRECTED" Type="bit" Nullable="false" />
<Property Name="COLOR_CATALOG_GUID" Type="varchar" MaxLength="36" />
<Property Name="COLOR_CATALOGS_ITEM_GUID" Type="varchar" MaxLength="36" />
@@ -887,6 +895,7 @@
<Property Name="HAS_PIGMENT" Type="bit" Nullable="false" />
<Property Name="SHORT_NAME" Type="nvarchar" MaxLength="4" />
<Property Name="AVAILABLE_FOR_STANDARD_USER" Type="bit" Nullable="false" />
+ <Property Name="IS_EXTRA_INK" Type="bit" Nullable="false" />
</EntityType>
<EntityType Name="LIQUID_TYPES_RMLS">
<Key>
@@ -1400,11 +1409,6 @@
<Property Name="BTSR_APPLICATION_TYPE_GUID" Type="varchar" MaxLength="36" />
<Property Name="BTSR_YARN_TYPE_GUID" Type="varchar" MaxLength="36" />
<Property Name="BTSR_TENSION_ERROR" Type="float" Nullable="false" />
- <Property Name="CMYKV_PREDICTION_TYPE" Type="int" Nullable="false" />
- <Property Name="CMYKV_PREDICTION_METHOD" Type="int" Nullable="false" />
- <Property Name="CMYKV_HUE_THRESHOLD" Type="float" Nullable="false" />
- <Property Name="K_NEAREST_K" Type="int" Nullable="false" />
- <Property Name="SIMPLE_RGB_PREVIEW_FACTOR" Type="float" Nullable="false" />
</EntityType>
<EntityType Name="RMLS_EXTENSIONS">
<Key>
@@ -5763,6 +5767,14 @@
<Property Name="V10_DIV" Type="Int32" Nullable="false" />
<Property Name="V11" Type="Double" Nullable="false" />
<Property Name="V11_DIV" Type="Int32" Nullable="false" />
+ <Property Name="V12" Type="Double" Nullable="false" />
+ <Property Name="V12_DIV" Type="Int32" Nullable="false" />
+ <Property Name="V13" Type="Double" Nullable="false" />
+ <Property Name="V13_DIV" Type="Int32" Nullable="false" />
+ <Property Name="V14" Type="Double" Nullable="false" />
+ <Property Name="V14_DIV" Type="Int32" Nullable="false" />
+ <Property Name="V15" Type="Double" Nullable="false" />
+ <Property Name="V15_DIV" Type="Int32" Nullable="false" />
<Property Name="CORRECTED" Type="Boolean" Nullable="false" />
<Property Name="COLOR_CATALOG_GUID" Type="String" MaxLength="36" FixedLength="false" Unicode="false" />
<Property Name="COLOR_CATALOGS_ITEM_GUID" Type="String" MaxLength="36" FixedLength="false" Unicode="false" />
@@ -6580,6 +6592,7 @@
<Property Name="HAS_PIGMENT" Type="Boolean" Nullable="false" />
<Property Name="SHORT_NAME" Type="String" MaxLength="4" FixedLength="false" Unicode="true" />
<Property Name="AVAILABLE_FOR_STANDARD_USER" Type="Boolean" Nullable="false" />
+ <Property Name="IS_EXTRA_INK" Type="Boolean" Nullable="false" />
<NavigationProperty Name="CATS" Relationship="RemoteModel.FK_CATS_LIQUID_TYPES1" FromRole="LIQUID_TYPES" ToRole="CAT" />
<NavigationProperty Name="IDS_PACKS" Relationship="RemoteModel.FK_CONFIGURATIONS_DISPENSERS_LIQUIDS" FromRole="LIQUID_TYPES" ToRole="IDS_PACKS" />
<NavigationProperty Name="LIQUID_TYPES_RMLS" Relationship="RemoteModel.FK_LIQUID_TYPES_RMLS_LIQUID_TYPES" FromRole="LIQUID_TYPES" ToRole="LIQUID_TYPES_RMLS" />
@@ -6996,11 +7009,6 @@
<Property Name="BTSR_APPLICATION_TYPE_GUID" Type="String" MaxLength="36" FixedLength="false" Unicode="false" />
<Property Name="BTSR_YARN_TYPE_GUID" Type="String" MaxLength="36" FixedLength="false" Unicode="false" />
<Property Name="BTSR_TENSION_ERROR" Type="Double" Nullable="false" />
- <Property Name="CMYKV_PREDICTION_TYPE" Type="Int32" Nullable="false" />
- <Property Name="CMYKV_PREDICTION_METHOD" Type="Int32" Nullable="false" />
- <Property Name="CMYKV_HUE_THRESHOLD" Type="Double" Nullable="false" />
- <Property Name="K_NEAREST_K" Type="Int32" Nullable="false" />
- <Property Name="SIMPLE_RGB_PREVIEW_FACTOR" Type="Double" Nullable="false" />
<NavigationProperty Name="BTSR_APPLICATION_TYPES" Relationship="RemoteModel.FK_RMLS_BTSR_APPLICATION_TYPES" FromRole="RML" ToRole="BTSR_APPLICATION_TYPES" />
<NavigationProperty Name="BTSR_YARN_TYPES" Relationship="RemoteModel.FK_RMLS_BTSR_YARN_TYPES" FromRole="RML" ToRole="BTSR_YARN_TYPES" />
<NavigationProperty Name="CATS" Relationship="RemoteModel.FK_CATS_RMLS" FromRole="RML" ToRole="CAT" />
@@ -9288,6 +9296,14 @@
<ScalarProperty Name="COLOR_CATALOGS_ITEM_GUID" ColumnName="COLOR_CATALOGS_ITEM_GUID" />
<ScalarProperty Name="COLOR_CATALOG_GUID" ColumnName="COLOR_CATALOG_GUID" />
<ScalarProperty Name="CORRECTED" ColumnName="CORRECTED" />
+ <ScalarProperty Name="V15_DIV" ColumnName="V15_DIV" />
+ <ScalarProperty Name="V15" ColumnName="V15" />
+ <ScalarProperty Name="V14_DIV" ColumnName="V14_DIV" />
+ <ScalarProperty Name="V14" ColumnName="V14" />
+ <ScalarProperty Name="V13_DIV" ColumnName="V13_DIV" />
+ <ScalarProperty Name="V13" ColumnName="V13" />
+ <ScalarProperty Name="V12_DIV" ColumnName="V12_DIV" />
+ <ScalarProperty Name="V12" ColumnName="V12" />
<ScalarProperty Name="V11_DIV" ColumnName="V11_DIV" />
<ScalarProperty Name="V11" ColumnName="V11" />
<ScalarProperty Name="V10_DIV" ColumnName="V10_DIV" />
@@ -10079,6 +10095,7 @@
<EntitySetMapping Name="LIQUID_TYPES">
<EntityTypeMapping TypeName="RemoteModel.LIQUID_TYPES">
<MappingFragment StoreEntitySet="LIQUID_TYPES">
+ <ScalarProperty Name="IS_EXTRA_INK" ColumnName="IS_EXTRA_INK" />
<ScalarProperty Name="AVAILABLE_FOR_STANDARD_USER" ColumnName="AVAILABLE_FOR_STANDARD_USER" />
<ScalarProperty Name="SHORT_NAME" ColumnName="SHORT_NAME" />
<ScalarProperty Name="HAS_PIGMENT" ColumnName="HAS_PIGMENT" />
@@ -10427,11 +10444,6 @@
<EntitySetMapping Name="RMLS">
<EntityTypeMapping TypeName="RemoteModel.RML">
<MappingFragment StoreEntitySet="RMLS">
- <ScalarProperty Name="SIMPLE_RGB_PREVIEW_FACTOR" ColumnName="SIMPLE_RGB_PREVIEW_FACTOR" />
- <ScalarProperty Name="K_NEAREST_K" ColumnName="K_NEAREST_K" />
- <ScalarProperty Name="CMYKV_HUE_THRESHOLD" ColumnName="CMYKV_HUE_THRESHOLD" />
- <ScalarProperty Name="CMYKV_PREDICTION_METHOD" ColumnName="CMYKV_PREDICTION_METHOD" />
- <ScalarProperty Name="CMYKV_PREDICTION_TYPE" ColumnName="CMYKV_PREDICTION_TYPE" />
<ScalarProperty Name="BTSR_TENSION_ERROR" ColumnName="BTSR_TENSION_ERROR" />
<ScalarProperty Name="BTSR_YARN_TYPE_GUID" ColumnName="BTSR_YARN_TYPE_GUID" />
<ScalarProperty Name="BTSR_APPLICATION_TYPE_GUID" ColumnName="BTSR_APPLICATION_TYPE_GUID" />
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 c0d3bd959..15865425b 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
@@ -5,103 +5,103 @@
<!-- Diagram content (shape and connector positions) -->
<edmx:Diagrams>
<Diagram DiagramId="f9ae01d708754bbd997add25a4bacc79" Name="Diagram1" ZoomLevel="58">
- <EntityTypeShape EntityType="RemoteModel.ACTION_LOGS" Width="1.5" PointX="11.25" PointY="11.125" />
- <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="70.875" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="1.5" PointY="96.375" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="90.625" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="1.5" PointY="75" />
- <EntityTypeShape EntityType="RemoteModel.BIT_TYPES" Width="1.5" PointX="13.75" PointY="10.75" />
- <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="18" PointY="20.625" />
- <EntityTypeShape EntityType="RemoteModel.BTSR_APPLICATION_TYPES" Width="1.5" PointX="0.75" PointY="28.375" />
- <EntityTypeShape EntityType="RemoteModel.BTSR_YARN_TYPES" Width="1.5" PointX="0.75" PointY="24.875" />
- <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="3" PointY="45.75" />
- <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="5.25" PointY="20.625" />
- <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="0.75" PointY="43.75" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="9" PointY="38.25" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_GROUPS" Width="1.5" PointX="13.5" PointY="19.875" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS" Width="1.5" PointX="15.75" PointY="18.625" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS_RECIPES" Width="1.5" PointX="5.25" PointY="28.5" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_MEASUREMENTS" Width="1.5" PointX="14.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_PROCESS_INK_UPTAKE" Width="1.5" PointX="15.75" PointY="10.75" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="9" PointY="34.75" />
- <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="0.75" PointY="80.75" />
- <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="67" />
- <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="9" PointY="28.5" />
- <EntityTypeShape EntityType="RemoteModel.DATA_STORE_ITEMS" Width="1.5" PointX="5.25" PointY="67.25" />
+ <EntityTypeShape EntityType="RemoteModel.ACTION_LOGS" Width="1.5" PointX="11.25" PointY="53.25" />
+ <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="85.75" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="1.5" PointY="68.5" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="74.375" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="1.5" PointY="48.625" />
+ <EntityTypeShape EntityType="RemoteModel.BIT_TYPES" Width="1.5" PointX="8.75" PointY="8.75" />
+ <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="18" PointY="20.75" />
+ <EntityTypeShape EntityType="RemoteModel.BTSR_APPLICATION_TYPES" Width="1.5" PointX="0.75" PointY="14.625" />
+ <EntityTypeShape EntityType="RemoteModel.BTSR_YARN_TYPES" Width="1.5" PointX="0.75" PointY="35.625" />
+ <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="3" PointY="43.25" />
+ <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="5.25" PointY="25.375" />
+ <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="0.75" PointY="41.875" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="1.5" PointY="6.25" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_GROUPS" Width="1.5" PointX="3.75" PointY="6.75" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS" Width="1.5" PointX="6" PointY="5.5" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS_RECIPES" Width="1.5" PointX="8.25" PointY="20.375" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_MEASUREMENTS" Width="1.5" PointX="10.75" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_PROCESS_INK_UPTAKE" Width="1.5" PointX="2.75" PointY="10.75" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="9" PointY="39.375" />
+ <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="0.75" PointY="54.375" />
+ <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="81.875" />
+ <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="9" PointY="30.25" />
+ <EntityTypeShape EntityType="RemoteModel.DATA_STORE_ITEMS" Width="1.5" PointX="5.25" PointY="68.75" />
<EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="0.75" PointY="2.25" />
<EntityTypeShape EntityType="RemoteModel.DISPENSER" Width="1.5" PointX="3" PointY="1.625" />
- <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="93.5" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="9" PointY="65.625" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="37.875" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="31.625" />
- <EntityTypeShape EntityType="RemoteModel.FSE_VERSIONS" Width="1.5" PointX="11.25" PointY="32.375" />
- <EntityTypeShape EntityType="RemoteModel.GBD" Width="1.5" PointX="0.75" PointY="34.5" />
- <EntityTypeShape EntityType="RemoteModel.GLOBAL_DATA_STORE_ITEMS" Width="1.5" PointX="16.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="1.5" PointY="99.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="3.75" PointY="80.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="1.5" PointY="107.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="3.75" PointY="92.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="7.5" PointY="79.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="9.75" PointY="80.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="4.5" PointY="76.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="6.75" PointY="83.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="1.5" PointY="103.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="3.75" PointY="84.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="7.5" PointY="97.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="9.75" PointY="90.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="85.875" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="7.5" PointY="93.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="9.75" PointY="86.5" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="3" PointY="39.125" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="5.25" PointY="43.5" />
- <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="17.75" PointY="4.75" />
- <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="11.25" PointY="20.875" />
- <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="40.75" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="3" PointY="6.375" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="8.25" PointY="24.75" />
- <EntityTypeShape EntityType="RemoteModel.LUB" Width="1.5" PointX="0.75" PointY="16.875" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_PROTOTYPES" Width="1.5" PointX="17.75" PointY="15.75" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="11.25" PointY="16.875" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="0.75" PointY="63.375" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="3" PointY="55.125" />
- <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="11.25" PointY="38" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="11" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="20.25" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="14" />
- <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="3" PointY="42.375" />
- <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="0.75" PointY="49" />
- <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="12" PointY="3" />
- <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="49" />
- <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="55.25" />
- <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" Width="1.5" PointX="5.75" PointY="5" />
- <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" Width="1.5" PointX="8" PointY="5.125" />
+ <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="71.375" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="9" PointY="66.25" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="32.625" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="38.875" />
+ <EntityTypeShape EntityType="RemoteModel.FSE_VERSIONS" Width="1.5" PointX="11.25" PointY="33.875" />
+ <EntityTypeShape EntityType="RemoteModel.GBD" Width="1.5" PointX="0.75" PointY="21" />
+ <EntityTypeShape EntityType="RemoteModel.GLOBAL_DATA_STORE_ITEMS" Width="1.5" PointX="10.75" PointY="8.75" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="1.5" PointY="94" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="3.75" PointY="73.625" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="4.5" PointY="92" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="6.75" PointY="77.75" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="1.5" PointY="102" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="3.75" PointY="82" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="7.5" PointY="89.875" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="9.75" PointY="74.625" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="4.5" PointY="96" />
+ <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="1.5" PointY="98" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="3.75" PointY="77.75" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="77.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="4.5" PointY="88" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="6.75" PointY="73.875" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="3" PointY="39.875" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="5.25" PointY="34" />
+ <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="13.75" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="11.25" PointY="21.625" />
+ <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="45.125" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="3" PointY="14" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="5.25" PointY="21.625" />
+ <EntityTypeShape EntityType="RemoteModel.LUB" Width="1.5" PointX="0.75" PointY="29.375" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_PROTOTYPES" Width="1.5" PointX="5.75" PointY="11.75" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="11.25" PointY="43.75" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="0.75" PointY="89.875" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="3" PointY="56.625" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="11.25" PointY="48.625" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="11.75" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="17.875" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="25.875" />
+ <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="3" PointY="52.125" />
+ <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="0.75" PointY="61.875" />
+ <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="12" PointY="13.75" />
+ <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="49.75" />
+ <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="56" />
+ <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" Width="1.5" PointX="8.75" PointY="5" />
+ <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" Width="1.5" PointX="11" PointY="5.125" />
<EntityTypeShape EntityType="RemoteModel.RML_EXTENSION_TEST_WASHING_RESULTS" Width="1.5" PointX="8" PointY="1" />
- <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="18" />
- <EntityTypeShape EntityType="RemoteModel.RMLS_SPOOLS" Width="1.5" PointX="8.25" PointY="20.25" />
- <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="12" PointY="6.875" />
- <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="14.25" PointY="7" />
- <EntityTypeShape EntityType="RemoteModel.RUBBING_RESULTS" Width="1.5" PointX="18.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="15.75" PointY="24.625" />
- <EntityTypeShape EntityType="RemoteModel.SEGMENTS_GROUPS" Width="1.5" PointX="13.5" PointY="24.875" />
- <EntityTypeShape EntityType="RemoteModel.SITE" Width="1.5" PointX="3" PointY="13.625" />
- <EntityTypeShape EntityType="RemoteModel.SITES_CATALOGS" Width="1.5" PointX="14.25" PointY="28.5" />
- <EntityTypeShape EntityType="RemoteModel.SITES_RMLS" Width="1.5" PointX="5.25" PointY="25" />
- <EntityTypeShape EntityType="RemoteModel.SITES_SPOOL_TYPES" Width="1.5" PointX="8.25" PointY="10.375" />
- <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="6" PointY="14.875" />
- <EntityTypeShape EntityType="RemoteModel.SPOOL" Width="1.5" PointX="8.25" PointY="42.75" />
- <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="19.75" PointY="4.75" />
- <EntityTypeShape EntityType="RemoteModel.TANGO_UPDATES" Width="1.5" PointX="19.75" PointY="7.75" />
- <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="14.25" PointY="37.875" />
- <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="19.75" PointY="12.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="19.75" PointY="16.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="20.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="20.75" PointY="19.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="21.75" PointY="3.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="21.75" PointY="8.75" />
- <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="9" PointY="13.5" />
- <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="14.25" PointY="15" />
+ <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="19.375" />
+ <EntityTypeShape EntityType="RemoteModel.RMLS_SPOOLS" Width="1.5" PointX="8.25" PointY="25.125" />
+ <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="12" PointY="17.625" />
+ <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="14.25" PointY="17.75" />
+ <EntityTypeShape EntityType="RemoteModel.RUBBING_RESULTS" Width="1.5" PointX="14.75" PointY="11.75" />
+ <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="15.75" PointY="25.375" />
+ <EntityTypeShape EntityType="RemoteModel.SEGMENTS_GROUPS" Width="1.5" PointX="13.5" PointY="25.75" />
+ <EntityTypeShape EntityType="RemoteModel.SITE" Width="1.5" PointX="3" PointY="35.5" />
+ <EntityTypeShape EntityType="RemoteModel.SITES_CATALOGS" Width="1.5" PointX="5.25" PointY="18.125" />
+ <EntityTypeShape EntityType="RemoteModel.SITES_RMLS" Width="1.5" PointX="5.25" PointY="29.875" />
+ <EntityTypeShape EntityType="RemoteModel.SITES_SPOOL_TYPES" Width="1.5" PointX="14.25" PointY="29.5" />
+ <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="9" PointY="14.75" />
+ <EntityTypeShape EntityType="RemoteModel.SPOOL" Width="1.5" PointX="11.25" PointY="39.5" />
+ <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="15.75" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.TANGO_UPDATES" Width="1.5" PointX="15.75" PointY="3.75" />
+ <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="11.25" PointY="61" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="16.75" PointY="8.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="16.75" PointY="12.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="16.75" PointY="15.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="17.75" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="18.75" PointY="5.75" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="18.75" PointY="10.75" />
+ <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="9" PointY="33.375" />
+ <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="14.25" PointY="34.75" />
<EntityTypeShape EntityType="RemoteModel.WASHING_TEST_MATERIALS" Width="1.5" PointX="5.75" PointY="1.5" />
- <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="9" PointY="31.625" />
+ <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="9" PointY="42.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.PMR/ColorLab/ColorMeasurement.cs b/Software/Visual_Studio/Tango.PMR/ColorLab/ColorMeasurement.cs
deleted file mode 100644
index f11849c1f..000000000
--- a/Software/Visual_Studio/Tango.PMR/ColorLab/ColorMeasurement.cs
+++ /dev/null
@@ -1,357 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: ColorMeasurement.proto
-#pragma warning disable 1591, 0612, 3021
-#region Designer generated code
-
-using pb = global::Google.Protobuf;
-using pbc = global::Google.Protobuf.Collections;
-using pbr = global::Google.Protobuf.Reflection;
-using scg = global::System.Collections.Generic;
-namespace Tango.PMR.ColorLab {
-
- /// <summary>Holder for reflection information generated from ColorMeasurement.proto</summary>
- public static partial class ColorMeasurementReflection {
-
- #region Descriptor
- /// <summary>File descriptor for ColorMeasurement.proto</summary>
- public static pbr::FileDescriptor Descriptor {
- get { return descriptor; }
- }
- private static pbr::FileDescriptor descriptor;
-
- static ColorMeasurementReflection() {
- byte[] descriptorData = global::System.Convert.FromBase64String(
- string.Concat(
- "ChZDb2xvck1lYXN1cmVtZW50LnByb3RvEhJUYW5nby5QTVIuQ29sb3JMYWIi",
- "agoQQ29sb3JNZWFzdXJlbWVudBIJCgFDGAEgASgBEgkKAU0YAiABKAESCQoB",
- "WRgDIAEoARIJCgFLGAQgASgBEgkKAVYYBSABKAESCQoBTBgKIAEoARIJCgFB",
- "GAsgASgBEgkKAUIYDCABKAFCHgocY29tLnR3aW5lLnRhbmdvLnBtci5jb2xv",
- "cmxhYmIGcHJvdG8z"));
- descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
- new pbr::FileDescriptor[] { },
- new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
- new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.ColorLab.ColorMeasurement), global::Tango.PMR.ColorLab.ColorMeasurement.Parser, new[]{ "C", "M", "Y", "K", "V", "L", "A", "B" }, null, null, null)
- }));
- }
- #endregion
-
- }
- #region Messages
- public sealed partial class ColorMeasurement : pb::IMessage<ColorMeasurement> {
- private static readonly pb::MessageParser<ColorMeasurement> _parser = new pb::MessageParser<ColorMeasurement>(() => new ColorMeasurement());
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public static pb::MessageParser<ColorMeasurement> Parser { get { return _parser; } }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public static pbr::MessageDescriptor Descriptor {
- get { return global::Tango.PMR.ColorLab.ColorMeasurementReflection.Descriptor.MessageTypes[0]; }
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- pbr::MessageDescriptor pb::IMessage.Descriptor {
- get { return Descriptor; }
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public ColorMeasurement() {
- OnConstruction();
- }
-
- partial void OnConstruction();
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public ColorMeasurement(ColorMeasurement other) : this() {
- c_ = other.c_;
- m_ = other.m_;
- y_ = other.y_;
- k_ = other.k_;
- v_ = other.v_;
- l_ = other.l_;
- a_ = other.a_;
- b_ = other.b_;
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public ColorMeasurement Clone() {
- return new ColorMeasurement(this);
- }
-
- /// <summary>Field number for the "C" field.</summary>
- public const int CFieldNumber = 1;
- private double c_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public double C {
- get { return c_; }
- set {
- c_ = value;
- }
- }
-
- /// <summary>Field number for the "M" field.</summary>
- public const int MFieldNumber = 2;
- private double m_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public double M {
- get { return m_; }
- set {
- m_ = value;
- }
- }
-
- /// <summary>Field number for the "Y" field.</summary>
- public const int YFieldNumber = 3;
- private double y_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public double Y {
- get { return y_; }
- set {
- y_ = value;
- }
- }
-
- /// <summary>Field number for the "K" field.</summary>
- public const int KFieldNumber = 4;
- private double k_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public double K {
- get { return k_; }
- set {
- k_ = value;
- }
- }
-
- /// <summary>Field number for the "V" field.</summary>
- public const int VFieldNumber = 5;
- private double v_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public double V {
- get { return v_; }
- set {
- v_ = value;
- }
- }
-
- /// <summary>Field number for the "L" field.</summary>
- public const int LFieldNumber = 10;
- private double l_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public double L {
- get { return l_; }
- set {
- l_ = value;
- }
- }
-
- /// <summary>Field number for the "A" field.</summary>
- public const int AFieldNumber = 11;
- private double a_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public double A {
- get { return a_; }
- set {
- a_ = value;
- }
- }
-
- /// <summary>Field number for the "B" field.</summary>
- public const int BFieldNumber = 12;
- private double b_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public double B {
- get { return b_; }
- set {
- b_ = value;
- }
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public override bool Equals(object other) {
- return Equals(other as ColorMeasurement);
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public bool Equals(ColorMeasurement other) {
- if (ReferenceEquals(other, null)) {
- return false;
- }
- if (ReferenceEquals(other, this)) {
- return true;
- }
- if (C != other.C) return false;
- if (M != other.M) return false;
- if (Y != other.Y) return false;
- if (K != other.K) return false;
- if (V != other.V) return false;
- if (L != other.L) return false;
- if (A != other.A) return false;
- if (B != other.B) return false;
- return true;
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public override int GetHashCode() {
- int hash = 1;
- if (C != 0D) hash ^= C.GetHashCode();
- if (M != 0D) hash ^= M.GetHashCode();
- if (Y != 0D) hash ^= Y.GetHashCode();
- if (K != 0D) hash ^= K.GetHashCode();
- if (V != 0D) hash ^= V.GetHashCode();
- if (L != 0D) hash ^= L.GetHashCode();
- if (A != 0D) hash ^= A.GetHashCode();
- if (B != 0D) hash ^= B.GetHashCode();
- return hash;
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public override string ToString() {
- return pb::JsonFormatter.ToDiagnosticString(this);
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public void WriteTo(pb::CodedOutputStream output) {
- if (C != 0D) {
- output.WriteRawTag(9);
- output.WriteDouble(C);
- }
- if (M != 0D) {
- output.WriteRawTag(17);
- output.WriteDouble(M);
- }
- if (Y != 0D) {
- output.WriteRawTag(25);
- output.WriteDouble(Y);
- }
- if (K != 0D) {
- output.WriteRawTag(33);
- output.WriteDouble(K);
- }
- if (V != 0D) {
- output.WriteRawTag(41);
- output.WriteDouble(V);
- }
- if (L != 0D) {
- output.WriteRawTag(81);
- output.WriteDouble(L);
- }
- if (A != 0D) {
- output.WriteRawTag(89);
- output.WriteDouble(A);
- }
- if (B != 0D) {
- output.WriteRawTag(97);
- output.WriteDouble(B);
- }
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public int CalculateSize() {
- int size = 0;
- if (C != 0D) {
- size += 1 + 8;
- }
- if (M != 0D) {
- size += 1 + 8;
- }
- if (Y != 0D) {
- size += 1 + 8;
- }
- if (K != 0D) {
- size += 1 + 8;
- }
- if (V != 0D) {
- size += 1 + 8;
- }
- if (L != 0D) {
- size += 1 + 8;
- }
- if (A != 0D) {
- size += 1 + 8;
- }
- if (B != 0D) {
- size += 1 + 8;
- }
- return size;
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public void MergeFrom(ColorMeasurement other) {
- if (other == null) {
- return;
- }
- if (other.C != 0D) {
- C = other.C;
- }
- if (other.M != 0D) {
- M = other.M;
- }
- if (other.Y != 0D) {
- Y = other.Y;
- }
- if (other.K != 0D) {
- K = other.K;
- }
- if (other.V != 0D) {
- V = other.V;
- }
- if (other.L != 0D) {
- L = other.L;
- }
- if (other.A != 0D) {
- A = other.A;
- }
- if (other.B != 0D) {
- B = other.B;
- }
- }
-
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public void MergeFrom(pb::CodedInputStream input) {
- uint tag;
- while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
- default:
- input.SkipLastField();
- break;
- case 9: {
- C = input.ReadDouble();
- break;
- }
- case 17: {
- M = input.ReadDouble();
- break;
- }
- case 25: {
- Y = input.ReadDouble();
- break;
- }
- case 33: {
- K = input.ReadDouble();
- break;
- }
- case 41: {
- V = input.ReadDouble();
- break;
- }
- case 81: {
- L = input.ReadDouble();
- break;
- }
- case 89: {
- A = input.ReadDouble();
- break;
- }
- case 97: {
- B = input.ReadDouble();
- break;
- }
- }
- }
- }
-
- }
-
- #endregion
-
-}
-
-#endregion Designer generated code
diff --git a/Software/Visual_Studio/Tango.PMR/ColorLab/ConversionInput.cs b/Software/Visual_Studio/Tango.PMR/ColorLab/ConversionInput.cs
index 1d85f4c7c..1b6c796c5 100644
--- a/Software/Visual_Studio/Tango.PMR/ColorLab/ConversionInput.cs
+++ b/Software/Visual_Studio/Tango.PMR/ColorLab/ConversionInput.cs
@@ -24,29 +24,24 @@ namespace Tango.PMR.ColorLab {
string.Concat(
"ChVDb252ZXJzaW9uSW5wdXQucHJvdG8SElRhbmdvLlBNUi5Db2xvckxhYhoW",
"SW5wdXRDb29yZGluYXRlcy5wcm90bxoQQ29sb3JTcGFjZS5wcm90bxoSUHJv",
- "Y2Vzc1JhbmdlLnByb3RvGhRDb252ZXJzaW9uVHlwZS5wcm90bxoWQ29sb3JN",
- "ZWFzdXJlbWVudC5wcm90byLYBQoPQ29udmVyc2lvbklucHV0Eg8KB1RocmVh",
- "ZEwYASABKAESDwoHVGhyZWFkQRgCIAEoARIPCgdUaHJlYWRCGAMgASgBEjIK",
- "CkNvbG9yU3BhY2UYBCABKA4yHi5UYW5nby5QTVIuQ29sb3JMYWIuQ29sb3JT",
- "cGFjZRI+ChBJbnB1dENvb3JkaW5hdGVzGAUgASgLMiQuVGFuZ28uUE1SLkNv",
- "bG9yTGFiLklucHV0Q29vcmRpbmF0ZXMSEwoLRm9yd2FyZERhdGEYBiABKAwS",
- "EwoLSW52ZXJzZURhdGEYByABKAwSFQoNU2VnbWVudExlbmd0aBgIIAEoARIT",
- "CgtEZWx0YUNocm9tYRgJIAEoARIOCgZEZWx0YUwYCiABKAESNwoNUHJvY2Vz",
- "c1JhbmdlcxgLIAMoCzIgLlRhbmdvLlBNUi5Db2xvckxhYi5Qcm9jZXNzUmFu",
- "Z2USFAoMR2VuZXJhdGVIaXZlGAwgASgIEhQKDFVzZUxpZ2h0SW5rcxgNIAEo",
- "CBIMCgRWTWF4GA4gASgBEg8KB0diZERhdGEYDyABKAwSDwoHTHViRGF0YRgQ",
- "IAEoDBIdChVVc2VMdWJyaWNhbnRUcmFuc2Zvcm0YESABKAgSOgoOQ29udmVy",
- "c2lvblR5cGUYEiABKA4yIi5UYW5nby5QTVIuQ29sb3JMYWIuQ29udmVyc2lv",
- "blR5cGUSGwoTQ01ZS1ZQcmVkaWN0aW9uVHlwZRgTIAEoBRIdChVDTVlLVlBy",
- "ZWRpY3Rpb25NZXRob2QYFCABKAUSGgoSQ01ZS1ZIdWVUaHJlc2hob2xkGBUg",
- "ASgBEg8KB0NNWUtWX0sYFiABKAESHgoWU2ltcGxlUkdCUHJldmlld0ZhY3Rv",
- "chgXIAEoARI/ChFDb2xvck1lYXN1cmVtZW50cxgYIAMoCzIkLlRhbmdvLlBN",
- "Ui5Db2xvckxhYi5Db2xvck1lYXN1cmVtZW50Qh4KHGNvbS50d2luZS50YW5n",
- "by5wbXIuY29sb3JsYWJiBnByb3RvMw=="));
+ "Y2Vzc1JhbmdlLnByb3RvGhRDb252ZXJzaW9uVHlwZS5wcm90byKOBAoPQ29u",
+ "dmVyc2lvbklucHV0Eg8KB1RocmVhZEwYASABKAESDwoHVGhyZWFkQRgCIAEo",
+ "ARIPCgdUaHJlYWRCGAMgASgBEjIKCkNvbG9yU3BhY2UYBCABKA4yHi5UYW5n",
+ "by5QTVIuQ29sb3JMYWIuQ29sb3JTcGFjZRI+ChBJbnB1dENvb3JkaW5hdGVz",
+ "GAUgASgLMiQuVGFuZ28uUE1SLkNvbG9yTGFiLklucHV0Q29vcmRpbmF0ZXMS",
+ "EwoLRm9yd2FyZERhdGEYBiABKAwSEwoLSW52ZXJzZURhdGEYByABKAwSFQoN",
+ "U2VnbWVudExlbmd0aBgIIAEoARITCgtEZWx0YUNocm9tYRgJIAEoARIOCgZE",
+ "ZWx0YUwYCiABKAESNwoNUHJvY2Vzc1JhbmdlcxgLIAMoCzIgLlRhbmdvLlBN",
+ "Ui5Db2xvckxhYi5Qcm9jZXNzUmFuZ2USFAoMR2VuZXJhdGVIaXZlGAwgASgI",
+ "EhQKDFVzZUxpZ2h0SW5rcxgNIAEoCBIMCgRWTWF4GA4gASgBEg8KB0diZERh",
+ "dGEYDyABKAwSDwoHTHViRGF0YRgQIAEoDBIdChVVc2VMdWJyaWNhbnRUcmFu",
+ "c2Zvcm0YESABKAgSOgoOQ29udmVyc2lvblR5cGUYEiABKA4yIi5UYW5nby5Q",
+ "TVIuQ29sb3JMYWIuQ29udmVyc2lvblR5cGVCHgocY29tLnR3aW5lLnRhbmdv",
+ "LnBtci5jb2xvcmxhYmIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
- new pbr::FileDescriptor[] { global::Tango.PMR.ColorLab.InputCoordinatesReflection.Descriptor, global::Tango.PMR.ColorLab.ColorSpaceReflection.Descriptor, global::Tango.PMR.ColorLab.ProcessRangeReflection.Descriptor, global::Tango.PMR.ColorLab.ConversionTypeReflection.Descriptor, global::Tango.PMR.ColorLab.ColorMeasurementReflection.Descriptor, },
+ new pbr::FileDescriptor[] { global::Tango.PMR.ColorLab.InputCoordinatesReflection.Descriptor, global::Tango.PMR.ColorLab.ColorSpaceReflection.Descriptor, global::Tango.PMR.ColorLab.ProcessRangeReflection.Descriptor, global::Tango.PMR.ColorLab.ConversionTypeReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
- new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.ColorLab.ConversionInput), global::Tango.PMR.ColorLab.ConversionInput.Parser, new[]{ "ThreadL", "ThreadA", "ThreadB", "ColorSpace", "InputCoordinates", "ForwardData", "InverseData", "SegmentLength", "DeltaChroma", "DeltaL", "ProcessRanges", "GenerateHive", "UseLightInks", "VMax", "GbdData", "LubData", "UseLubricantTransform", "ConversionType", "CMYKVPredictionType", "CMYKVPredictionMethod", "CMYKVHueThreshhold", "CMYKVK", "SimpleRGBPreviewFactor", "ColorMeasurements" }, null, null, null)
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.ColorLab.ConversionInput), global::Tango.PMR.ColorLab.ConversionInput.Parser, new[]{ "ThreadL", "ThreadA", "ThreadB", "ColorSpace", "InputCoordinates", "ForwardData", "InverseData", "SegmentLength", "DeltaChroma", "DeltaL", "ProcessRanges", "GenerateHive", "UseLightInks", "VMax", "GbdData", "LubData", "UseLubricantTransform", "ConversionType" }, null, null, null)
}));
}
#endregion
@@ -95,12 +90,6 @@ namespace Tango.PMR.ColorLab {
lubData_ = other.lubData_;
useLubricantTransform_ = other.useLubricantTransform_;
conversionType_ = other.conversionType_;
- cMYKVPredictionType_ = other.cMYKVPredictionType_;
- cMYKVPredictionMethod_ = other.cMYKVPredictionMethod_;
- cMYKVHueThreshhold_ = other.cMYKVHueThreshhold_;
- cMYKVK_ = other.cMYKVK_;
- simpleRGBPreviewFactor_ = other.simpleRGBPreviewFactor_;
- colorMeasurements_ = other.colorMeasurements_.Clone();
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -305,71 +294,6 @@ namespace Tango.PMR.ColorLab {
}
}
- /// <summary>Field number for the "CMYKVPredictionType" field.</summary>
- public const int CMYKVPredictionTypeFieldNumber = 19;
- private int cMYKVPredictionType_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public int CMYKVPredictionType {
- get { return cMYKVPredictionType_; }
- set {
- cMYKVPredictionType_ = value;
- }
- }
-
- /// <summary>Field number for the "CMYKVPredictionMethod" field.</summary>
- public const int CMYKVPredictionMethodFieldNumber = 20;
- private int cMYKVPredictionMethod_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public int CMYKVPredictionMethod {
- get { return cMYKVPredictionMethod_; }
- set {
- cMYKVPredictionMethod_ = value;
- }
- }
-
- /// <summary>Field number for the "CMYKVHueThreshhold" field.</summary>
- public const int CMYKVHueThreshholdFieldNumber = 21;
- private double cMYKVHueThreshhold_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public double CMYKVHueThreshhold {
- get { return cMYKVHueThreshhold_; }
- set {
- cMYKVHueThreshhold_ = value;
- }
- }
-
- /// <summary>Field number for the "CMYKV_K" field.</summary>
- public const int CMYKVKFieldNumber = 22;
- private double cMYKVK_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public double CMYKVK {
- get { return cMYKVK_; }
- set {
- cMYKVK_ = value;
- }
- }
-
- /// <summary>Field number for the "SimpleRGBPreviewFactor" field.</summary>
- public const int SimpleRGBPreviewFactorFieldNumber = 23;
- private double simpleRGBPreviewFactor_;
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public double SimpleRGBPreviewFactor {
- get { return simpleRGBPreviewFactor_; }
- set {
- simpleRGBPreviewFactor_ = value;
- }
- }
-
- /// <summary>Field number for the "ColorMeasurements" field.</summary>
- public const int ColorMeasurementsFieldNumber = 24;
- private static readonly pb::FieldCodec<global::Tango.PMR.ColorLab.ColorMeasurement> _repeated_colorMeasurements_codec
- = pb::FieldCodec.ForMessage(194, global::Tango.PMR.ColorLab.ColorMeasurement.Parser);
- private readonly pbc::RepeatedField<global::Tango.PMR.ColorLab.ColorMeasurement> colorMeasurements_ = new pbc::RepeatedField<global::Tango.PMR.ColorLab.ColorMeasurement>();
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public pbc::RepeatedField<global::Tango.PMR.ColorLab.ColorMeasurement> ColorMeasurements {
- get { return colorMeasurements_; }
- }
-
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as ConversionInput);
@@ -401,12 +325,6 @@ namespace Tango.PMR.ColorLab {
if (LubData != other.LubData) return false;
if (UseLubricantTransform != other.UseLubricantTransform) return false;
if (ConversionType != other.ConversionType) return false;
- if (CMYKVPredictionType != other.CMYKVPredictionType) return false;
- if (CMYKVPredictionMethod != other.CMYKVPredictionMethod) return false;
- if (CMYKVHueThreshhold != other.CMYKVHueThreshhold) return false;
- if (CMYKVK != other.CMYKVK) return false;
- if (SimpleRGBPreviewFactor != other.SimpleRGBPreviewFactor) return false;
- if(!colorMeasurements_.Equals(other.colorMeasurements_)) return false;
return true;
}
@@ -431,12 +349,6 @@ namespace Tango.PMR.ColorLab {
if (LubData.Length != 0) hash ^= LubData.GetHashCode();
if (UseLubricantTransform != false) hash ^= UseLubricantTransform.GetHashCode();
if (ConversionType != 0) hash ^= ConversionType.GetHashCode();
- if (CMYKVPredictionType != 0) hash ^= CMYKVPredictionType.GetHashCode();
- if (CMYKVPredictionMethod != 0) hash ^= CMYKVPredictionMethod.GetHashCode();
- if (CMYKVHueThreshhold != 0D) hash ^= CMYKVHueThreshhold.GetHashCode();
- if (CMYKVK != 0D) hash ^= CMYKVK.GetHashCode();
- if (SimpleRGBPreviewFactor != 0D) hash ^= SimpleRGBPreviewFactor.GetHashCode();
- hash ^= colorMeasurements_.GetHashCode();
return hash;
}
@@ -516,27 +428,6 @@ namespace Tango.PMR.ColorLab {
output.WriteRawTag(144, 1);
output.WriteEnum((int) ConversionType);
}
- if (CMYKVPredictionType != 0) {
- output.WriteRawTag(152, 1);
- output.WriteInt32(CMYKVPredictionType);
- }
- if (CMYKVPredictionMethod != 0) {
- output.WriteRawTag(160, 1);
- output.WriteInt32(CMYKVPredictionMethod);
- }
- if (CMYKVHueThreshhold != 0D) {
- output.WriteRawTag(169, 1);
- output.WriteDouble(CMYKVHueThreshhold);
- }
- if (CMYKVK != 0D) {
- output.WriteRawTag(177, 1);
- output.WriteDouble(CMYKVK);
- }
- if (SimpleRGBPreviewFactor != 0D) {
- output.WriteRawTag(185, 1);
- output.WriteDouble(SimpleRGBPreviewFactor);
- }
- colorMeasurements_.WriteTo(output, _repeated_colorMeasurements_codec);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -594,22 +485,6 @@ namespace Tango.PMR.ColorLab {
if (ConversionType != 0) {
size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) ConversionType);
}
- if (CMYKVPredictionType != 0) {
- size += 2 + pb::CodedOutputStream.ComputeInt32Size(CMYKVPredictionType);
- }
- if (CMYKVPredictionMethod != 0) {
- size += 2 + pb::CodedOutputStream.ComputeInt32Size(CMYKVPredictionMethod);
- }
- if (CMYKVHueThreshhold != 0D) {
- size += 2 + 8;
- }
- if (CMYKVK != 0D) {
- size += 2 + 8;
- }
- if (SimpleRGBPreviewFactor != 0D) {
- size += 2 + 8;
- }
- size += colorMeasurements_.CalculateSize(_repeated_colorMeasurements_codec);
return size;
}
@@ -673,22 +548,6 @@ namespace Tango.PMR.ColorLab {
if (other.ConversionType != 0) {
ConversionType = other.ConversionType;
}
- if (other.CMYKVPredictionType != 0) {
- CMYKVPredictionType = other.CMYKVPredictionType;
- }
- if (other.CMYKVPredictionMethod != 0) {
- CMYKVPredictionMethod = other.CMYKVPredictionMethod;
- }
- if (other.CMYKVHueThreshhold != 0D) {
- CMYKVHueThreshhold = other.CMYKVHueThreshhold;
- }
- if (other.CMYKVK != 0D) {
- CMYKVK = other.CMYKVK;
- }
- if (other.SimpleRGBPreviewFactor != 0D) {
- SimpleRGBPreviewFactor = other.SimpleRGBPreviewFactor;
- }
- colorMeasurements_.Add(other.colorMeasurements_);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -774,30 +633,6 @@ namespace Tango.PMR.ColorLab {
conversionType_ = (global::Tango.PMR.ColorLab.ConversionType) input.ReadEnum();
break;
}
- case 152: {
- CMYKVPredictionType = input.ReadInt32();
- break;
- }
- case 160: {
- CMYKVPredictionMethod = input.ReadInt32();
- break;
- }
- case 169: {
- CMYKVHueThreshhold = input.ReadDouble();
- break;
- }
- case 177: {
- CMYKVK = input.ReadDouble();
- break;
- }
- case 185: {
- SimpleRGBPreviewFactor = input.ReadDouble();
- break;
- }
- case 194: {
- colorMeasurements_.AddEntriesFrom(input, _repeated_colorMeasurements_codec);
- break;
- }
}
}
}
diff --git a/Software/Visual_Studio/Tango.PMR/ColorLab/InputLiquid.cs b/Software/Visual_Studio/Tango.PMR/ColorLab/InputLiquid.cs
index f45261825..c5e4e85d5 100644
--- a/Software/Visual_Studio/Tango.PMR/ColorLab/InputLiquid.cs
+++ b/Software/Visual_Studio/Tango.PMR/ColorLab/InputLiquid.cs
@@ -23,16 +23,17 @@ namespace Tango.PMR.ColorLab {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChFJbnB1dExpcXVpZC5wcm90bxISVGFuZ28uUE1SLkNvbG9yTGFiGhBMaXF1",
- "aWRUeXBlLnByb3RvGhVDYWxpYnJhdGlvbkRhdGEucHJvdG8isgEKC0lucHV0",
+ "aWRUeXBlLnByb3RvGhVDYWxpYnJhdGlvbkRhdGEucHJvdG8i1QEKC0lucHV0",
"TGlxdWlkEjIKCkxpcXVpZFR5cGUYASABKA4yHi5UYW5nby5QTVIuQ29sb3JM",
"YWIuTGlxdWlkVHlwZRI8Cg9DYWxpYnJhdGlvbkRhdGEYAiABKAsyIy5UYW5n",
"by5QTVIuQ29sb3JMYWIuQ2FsaWJyYXRpb25EYXRhEiEKGU1heE5hbm9saXRl",
- "clBlckNlbnRpbWV0ZXIYAyABKAESDgoGVm9sdW1lGAQgASgBQh4KHGNvbS50",
- "d2luZS50YW5nby5wbXIuY29sb3JsYWJiBnByb3RvMw=="));
+ "clBlckNlbnRpbWV0ZXIYAyABKAESDgoGVm9sdW1lGAQgASgBEhIKCklzRXh0",
+ "cmFJbmsYBSABKAgSDQoFQ29sb3IYBiABKAVCHgocY29tLnR3aW5lLnRhbmdv",
+ "LnBtci5jb2xvcmxhYmIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Tango.PMR.ColorLab.LiquidTypeReflection.Descriptor, global::Tango.PMR.ColorLab.CalibrationDataReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
- new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.ColorLab.InputLiquid), global::Tango.PMR.ColorLab.InputLiquid.Parser, new[]{ "LiquidType", "CalibrationData", "MaxNanoliterPerCentimeter", "Volume" }, null, null, null)
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.ColorLab.InputLiquid), global::Tango.PMR.ColorLab.InputLiquid.Parser, new[]{ "LiquidType", "CalibrationData", "MaxNanoliterPerCentimeter", "Volume", "IsExtraInk", "Color" }, null, null, null)
}));
}
#endregion
@@ -67,6 +68,8 @@ namespace Tango.PMR.ColorLab {
CalibrationData = other.calibrationData_ != null ? other.CalibrationData.Clone() : null;
maxNanoliterPerCentimeter_ = other.maxNanoliterPerCentimeter_;
volume_ = other.volume_;
+ isExtraInk_ = other.isExtraInk_;
+ color_ = other.color_;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -118,6 +121,28 @@ namespace Tango.PMR.ColorLab {
}
}
+ /// <summary>Field number for the "IsExtraInk" field.</summary>
+ public const int IsExtraInkFieldNumber = 5;
+ private bool isExtraInk_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool IsExtraInk {
+ get { return isExtraInk_; }
+ set {
+ isExtraInk_ = value;
+ }
+ }
+
+ /// <summary>Field number for the "Color" field.</summary>
+ public const int ColorFieldNumber = 6;
+ private int color_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int Color {
+ get { return color_; }
+ set {
+ color_ = value;
+ }
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as InputLiquid);
@@ -135,6 +160,8 @@ namespace Tango.PMR.ColorLab {
if (!object.Equals(CalibrationData, other.CalibrationData)) return false;
if (MaxNanoliterPerCentimeter != other.MaxNanoliterPerCentimeter) return false;
if (Volume != other.Volume) return false;
+ if (IsExtraInk != other.IsExtraInk) return false;
+ if (Color != other.Color) return false;
return true;
}
@@ -145,6 +172,8 @@ namespace Tango.PMR.ColorLab {
if (calibrationData_ != null) hash ^= CalibrationData.GetHashCode();
if (MaxNanoliterPerCentimeter != 0D) hash ^= MaxNanoliterPerCentimeter.GetHashCode();
if (Volume != 0D) hash ^= Volume.GetHashCode();
+ if (IsExtraInk != false) hash ^= IsExtraInk.GetHashCode();
+ if (Color != 0) hash ^= Color.GetHashCode();
return hash;
}
@@ -171,6 +200,14 @@ namespace Tango.PMR.ColorLab {
output.WriteRawTag(33);
output.WriteDouble(Volume);
}
+ if (IsExtraInk != false) {
+ output.WriteRawTag(40);
+ output.WriteBool(IsExtraInk);
+ }
+ if (Color != 0) {
+ output.WriteRawTag(48);
+ output.WriteInt32(Color);
+ }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -188,6 +225,12 @@ namespace Tango.PMR.ColorLab {
if (Volume != 0D) {
size += 1 + 8;
}
+ if (IsExtraInk != false) {
+ size += 1 + 1;
+ }
+ if (Color != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeInt32Size(Color);
+ }
return size;
}
@@ -211,6 +254,12 @@ namespace Tango.PMR.ColorLab {
if (other.Volume != 0D) {
Volume = other.Volume;
}
+ if (other.IsExtraInk != false) {
+ IsExtraInk = other.IsExtraInk;
+ }
+ if (other.Color != 0) {
+ Color = other.Color;
+ }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -240,6 +289,14 @@ namespace Tango.PMR.ColorLab {
Volume = input.ReadDouble();
break;
}
+ case 40: {
+ IsExtraInk = input.ReadBool();
+ break;
+ }
+ case 48: {
+ Color = input.ReadInt32();
+ break;
+ }
}
}
}
diff --git a/Software/Visual_Studio/Tango.PMR/ColorLab/LiquidType.cs b/Software/Visual_Studio/Tango.PMR/ColorLab/LiquidType.cs
index 9bfbcd947..94d2f20b3 100644
--- a/Software/Visual_Studio/Tango.PMR/ColorLab/LiquidType.cs
+++ b/Software/Visual_Studio/Tango.PMR/ColorLab/LiquidType.cs
@@ -22,12 +22,14 @@ namespace Tango.PMR.ColorLab {
static LiquidTypeReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
- "ChBMaXF1aWRUeXBlLnByb3RvEhJUYW5nby5QTVIuQ29sb3JMYWIqqAEKCkxp",
+ "ChBMaXF1aWRUeXBlLnByb3RvEhJUYW5nby5QTVIuQ29sb3JMYWIqhQIKCkxp",
"cXVpZFR5cGUSCAoEQ3lhbhAAEgsKB01hZ2VudGEQARIKCgZZZWxsb3cQAhIJ",
"CgVCbGFjaxADEhIKDlRyYW5zcGFyZW50SW5rEAQSDQoJTHVicmljYW50EAUS",
"CwoHQ2xlYW5lchAGEg0KCUxpZ2h0Q3lhbhAHEhAKDExpZ2h0TWFnZW50YRAI",
- "Eg8KC0xpZ2h0WWVsbG93EAkSCgoGVmlvbGV0EApCHgocY29tLnR3aW5lLnRh",
- "bmdvLnBtci5jb2xvcmxhYmIGcHJvdG8z"));
+ "Eg8KC0xpZ2h0WWVsbG93EAkSCgoGVmlvbGV0EAoSCAoEQmx1ZRALEg0KCUxp",
+ "Z2h0Qmx1ZRAMEgoKBk9yYW5nZRANEg8KC0xpZ2h0T3JhbmdlEA4SCgoGUnVi",
+ "aW5lEA8SDwoLTGlnaHRSdWJpbmUQEBIICgROYXZ5EBFCHgocY29tLnR3aW5l",
+ "LnRhbmdvLnBtci5jb2xvcmxhYmIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.ColorLab.LiquidType), }, null));
@@ -48,6 +50,13 @@ namespace Tango.PMR.ColorLab {
[pbr::OriginalName("LightMagenta")] LightMagenta = 8,
[pbr::OriginalName("LightYellow")] LightYellow = 9,
[pbr::OriginalName("Violet")] Violet = 10,
+ [pbr::OriginalName("Blue")] Blue = 11,
+ [pbr::OriginalName("LightBlue")] LightBlue = 12,
+ [pbr::OriginalName("Orange")] Orange = 13,
+ [pbr::OriginalName("LightOrange")] LightOrange = 14,
+ [pbr::OriginalName("Rubine")] Rubine = 15,
+ [pbr::OriginalName("LightRubine")] LightRubine = 16,
+ [pbr::OriginalName("Navy")] Navy = 17,
}
#endregion
diff --git a/Software/Visual_Studio/Tango.PMR/Printing/DispenserLiquidType.cs b/Software/Visual_Studio/Tango.PMR/Printing/DispenserLiquidType.cs
index 7b03045ec..fb3b5820c 100644
--- a/Software/Visual_Studio/Tango.PMR/Printing/DispenserLiquidType.cs
+++ b/Software/Visual_Studio/Tango.PMR/Printing/DispenserLiquidType.cs
@@ -23,11 +23,13 @@ namespace Tango.PMR.Printing {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChlEaXNwZW5zZXJMaXF1aWRUeXBlLnByb3RvEhJUYW5nby5QTVIuUHJpbnRp",
- "bmcqsQEKE0Rpc3BlbnNlckxpcXVpZFR5cGUSCAoEQ3lhbhAAEgsKB01hZ2Vu",
+ "bmcqjgIKE0Rpc3BlbnNlckxpcXVpZFR5cGUSCAoEQ3lhbhAAEgsKB01hZ2Vu",
"dGEQARIKCgZZZWxsb3cQAhIJCgVCbGFjaxADEhIKDlRyYW5zcGFyZW50SW5r",
"EAQSDQoJTHVicmljYW50EAUSCwoHQ2xlYW5lchAGEg0KCUxpZ2h0Q3lhbhAH",
"EhAKDExpZ2h0TWFnZW50YRAIEg8KC0xpZ2h0WWVsbG93EAkSCgoGVmlvbGV0",
- "EApCHgocY29tLnR3aW5lLnRhbmdvLnBtci5wcmludGluZ2IGcHJvdG8z"));
+ "EAoSCAoEQmx1ZRALEg0KCUxpZ2h0Qmx1ZRAMEgoKBk9yYW5nZRANEg8KC0xp",
+ "Z2h0T3JhbmdlEA4SCgoGUnViaW5lEA8SDwoLTGlnaHRSdWJpbmUQEBIICgRO",
+ "YXZ5EBFCHgocY29tLnR3aW5lLnRhbmdvLnBtci5wcmludGluZ2IGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Tango.PMR.Printing.DispenserLiquidType), }, null));
@@ -48,6 +50,13 @@ namespace Tango.PMR.Printing {
[pbr::OriginalName("LightMagenta")] LightMagenta = 8,
[pbr::OriginalName("LightYellow")] LightYellow = 9,
[pbr::OriginalName("Violet")] Violet = 10,
+ [pbr::OriginalName("Blue")] Blue = 11,
+ [pbr::OriginalName("LightBlue")] LightBlue = 12,
+ [pbr::OriginalName("Orange")] Orange = 13,
+ [pbr::OriginalName("LightOrange")] LightOrange = 14,
+ [pbr::OriginalName("Rubine")] Rubine = 15,
+ [pbr::OriginalName("LightRubine")] LightRubine = 16,
+ [pbr::OriginalName("Navy")] Navy = 17,
}
#endregion
diff --git a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj
index bd2c306f8..b5ea1877c 100644
--- a/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj
+++ b/Software/Visual_Studio/Tango.PMR/Tango.PMR.csproj
@@ -56,7 +56,6 @@
<Compile Include="ColorLab\CalibrationMeasurement.cs" />
<Compile Include="ColorLab\CalibrationOutput.cs" />
<Compile Include="ColorLab\CalibrationPoint.cs" />
- <Compile Include="ColorLab\ColorMeasurement.cs" />
<Compile Include="ColorLab\ColorSpace.cs" />
<Compile Include="ColorLab\ConversionInput.cs" />
<Compile Include="ColorLab\ConversionOutput.cs" />
@@ -528,7 +527,7 @@
</PropertyGroup>
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file