diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2021-07-20 12:22:23 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2021-07-20 12:22:23 +0300 |
| commit | 2741e998e9a039e4f25e621b00483d72891840eb (patch) | |
| tree | af29762e5585c856f9657e9c6997f94b0b646d84 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models | |
| parent | 2e37232fd2055ff0556c43c6f3f68e5ac427f2f6 (diff) | |
| parent | f4fc9795b21c8631451ca16e93e479bcd3872bb5 (diff) | |
| download | Tango-2741e998e9a039e4f25e621b00483d72891840eb.tar.gz Tango-2741e998e9a039e4f25e621b00483d72891840eb.zip | |
MERGE Vica changes.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models')
5 files changed, 325 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/ColorDataExcelModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/ColorDataExcelModel.cs new file mode 100644 index 000000000..da7471e16 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/ColorDataExcelModel.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Documents; + +namespace Tango.MachineStudio.ThreadExtensions.Models +{ + public class ColorDataExcelModel + { + public int NlCm { get; set; } + public double L { get; set; } + public double A { get; set; } + public double B { get; set; } + + public ColorDataExcelModel() + { + NlCm = 0; + L = A = B = 0.0; + } + + public static void GetDataFromFile(string fileName, out List<ColorDataExcelModel> items, ref string errors) + { + items = null; + try + { + using (ExcelReader reader = new ExcelReader(fileName)) + { + items = reader.GetDataByIndex<ColorDataExcelModel>("Sheet1", 1); + } + } + catch (Exception ex) + { + errors = ex.Message; + } + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/FactorTarget.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/FactorTarget.cs new file mode 100644 index 000000000..0cb2679fd --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/FactorTarget.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.BL.Enumerations; + +namespace Tango.MachineStudio.ThreadExtensions.Models +{ + public static class FactorTarget + { + public static Dictionary<FactorColors, double> FACTOR100 = new Dictionary<FactorColors, double>() { + { FactorColors.CYAN, 51.95}, {FactorColors.MAGENTA, 47.47}, { FactorColors.YELLOW, 94.05}, {FactorColors.BLACK, 26.58}}; + + public static Dictionary<FactorColors, double> FACTOR200 = new Dictionary<FactorColors, double>() { + { FactorColors.CYAN, 46.3}, {FactorColors.MAGENTA, 41.04}, { FactorColors.YELLOW, 97.78}, {FactorColors.BLACK, 21.01}}; + + public static double GetFactor100(FactorColors color) + { + double result; + + if (FACTOR100.TryGetValue(color, out result)) + { + return result; + } + return 0.0; + } + public static double GetFactor200(FactorColors color) + { + double result; + + if (FACTOR200.TryGetValue(color, out result)) + { + return result; + } + return 0.0; + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs new file mode 100644 index 000000000..e41a6a220 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core; + +namespace Tango.MachineStudio.ThreadExtensions.Models +{ + public class MachineModel : ExtendedObject + { + public String Guid { get; set; } + + public string Name { get; set; } + + protected String _serialnumber; + + public String SerialNumber + { + get{ return _serialnumber; } + set + { + _serialnumber = value; + RaisePropertyChangedAuto(); + } + } + + private bool _hasRMLTest; + + public bool HasRMLTest + { + get { return _hasRMLTest; } + set { _hasRMLTest = value; + RaisePropertyChangedAuto(); + } + } + + public MachineModel() + { + HasRMLTest = false; + } + + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/PlotProperties.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/PlotProperties.cs new file mode 100644 index 000000000..ee882ad4b --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/PlotProperties.cs @@ -0,0 +1,170 @@ +using OxyPlot; +using OxyPlot.Wpf; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using Tango.BL.Entities; +using Tango.BL.Enumerations; +using Tango.Core; +using Tango.MachineStudio.ThreadExtensions.ViewModels; + +namespace Tango.MachineStudio.ThreadExtensions.Models +{ + public class PlotProperties : ExtendedObject + { + public Plot PlotControl { get; set; } + private IList<DataPoint> _points; + + private FactorColors _color; + + public FactorColors Color + { + get { return _color; } + set { _color = value; } + } + + /// <summary> + /// Binding to ItemsSource of line chart. + /// </summary> + public IList<DataPoint> Points + { + get { return _points; } + set + { + _points = value; + RaisePropertyChangedAuto(); + } + } + private IList<DataPoint> _target100Points; + /// <summary> + /// Binding to ItemsSource of line chart. + /// </summary> + public IList<DataPoint> Target100Points + { + get { return _target100Points; } + set + { + _target100Points = value; + RaisePropertyChangedAuto(); + } + } + private IList<DataPoint> _target200Points; + /// <summary> + /// Binding to ItemsSource of line chart. + /// </summary> + public IList<DataPoint> Target200Points + { + get { return _target200Points; } + set + { + _target200Points = value; + RaisePropertyChangedAuto(); + } + } + private int _step; + public int XStep + { + get { return _step; } + set { _step = value; RaisePropertyChangedAuto(); } + } + + private double _from; + /// <summary> + /// From use to binding to bottom axis min value + /// </summary> + public double From + { + get { return _from; } + set + { + _from = value; RaisePropertyChangedAuto(); + } + } + + private double _to; + /// <summary> + /// To use to binding to bottom axis max value + /// </summary> + public double To + { + get { return _to; } + set + { + _to = value; RaisePropertyChangedAuto(); + } + } + + public PlotProperties(FactorColors color) + { + this.Points = new List<DataPoint>(); + Target100Points = new List<DataPoint>(); + Target200Points = new List<DataPoint>(); + Color = color; + + } + + public void ClearResults() + { + Points.Clear(); + Target100Points.Clear(); + Target200Points.Clear(); + } + + public void CreateGraph(List<ColorProcessData> points, bool isLtype) + { + if (PlotControl == null) + { + Debug.WriteLine("ERROR!!! CreateGraph. Plot Control is NULL."); + return; + } + + ClearResults(); + PlotControl.InvalidatePlot(true); + + double target100Y = FactorTarget.GetFactor100(Color); + double target200Y = FactorTarget.GetFactor200(Color); + + _to = target100Y > target200Y? target100Y + 10: target200Y + 10; + _from = target100Y < target200Y ? target100Y - 10 : target200Y - 10; + + foreach ( var x in points) + { + var point = new DataPoint(x.InkNlCm, isLtype ? x.L : x.B); + Points.Add(point); + + _to = _to > point.Y ? _to : point.Y; + _from = ( _from == 0 || _from > point.Y ) ? point.Y : _from; + + } + if (points.Count > 1) + { + var minInkNlCm = points.Min(n => n.InkNlCm); + var maxInkNlCm = points.Max(n => n.InkNlCm); + if(! Target100Points.Any(x => x.X == minInkNlCm)) + { + Target100Points.Add(new DataPoint(minInkNlCm, target100Y)); + Target200Points.Add(new DataPoint(minInkNlCm, target200Y)); + } + if (!Target100Points.Any(x => x.X == maxInkNlCm)) + { + Target100Points.Add(new DataPoint(maxInkNlCm, target100Y)); + Target200Points.Add(new DataPoint(maxInkNlCm, target200Y)); + } + } + Debug.WriteLine($"CreateGraph. Count Points {points.Count}"); + + if (_to == 0) + _to = isLtype ? 100 : 128; + if (_from == 0) + _from = isLtype ? 0 : -127; + + RaisePropertyChanged("To"); + RaisePropertyChanged("From"); + XStep = (int)(Points.Count / 6); + + PlotControl.InvalidatePlot(true); + + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/RmlExtensionModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/RmlExtensionModel.cs new file mode 100644 index 000000000..9b5d9d8ce --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/RmlExtensionModel.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.BL.Enumerations; +using Tango.Core; + +namespace Tango.MachineStudio.ThreadExtensions.Models +{ + public class RmlExtensionModel : ExtendedObject + { + public String Guid { get; set; } + + public String RMLGuid { get; set; } + + public string Name { get; set; } + + public String Manufacturer { get; set; } + + public String Brand { get; set; } + + public int LinearDensity { get; set; } + + public String CreatedBy { get; set;} + + public DateTime Created { get; set; } + + public DateTime LastUpdated { get; set; } + + public RMLExtensionStatus Status{ get; set; } + } +} |
