aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/SegmentModel.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/SegmentModel.cs')
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/SegmentModel.cs195
1 files changed, 105 insertions, 90 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/SegmentModel.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/SegmentModel.cs
index fb4932a2e..bfc7d2234 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/SegmentModel.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/Models/SegmentModel.cs
@@ -28,7 +28,7 @@ namespace Tango.PPC.Jobs.Models
#region Properties
public string GUID { get; set; }
-
+
protected String _name;
/// <summary>
/// Gets or sets the SegmentModel name.
@@ -85,7 +85,7 @@ namespace Tango.PPC.Jobs.Models
return SegmentsGroupModel != null;
}
}
-
+
public void LengthBeforeChange(double value)
{
_lastLength = Length;
@@ -104,7 +104,7 @@ namespace Tango.PPC.Jobs.Models
get { return _weight; }
set
{
- if(_weight != value)
+ if (_weight != value)
{
_weight = value;
OnWeightChanged();
@@ -139,8 +139,11 @@ namespace Tango.PPC.Jobs.Models
public bool IsInterSegment
{
get { return _isInterSegment; }
- set { _isInterSegment = value;
- RaisePropertyChangedAuto(); }
+ set
+ {
+ _isInterSegment = value;
+ RaisePropertyChangedAuto();
+ }
}
protected Boolean _enableintersegment;
@@ -153,7 +156,7 @@ namespace Tango.PPC.Jobs.Models
{
_enableintersegment = value;
RaisePropertyChangedAuto();
-
+
}
RaisePropertyChanged(nameof(LengthWithInterSegment));
RaisePropertyChanged(nameof(InterSegmentLength));
@@ -200,7 +203,7 @@ namespace Tango.PPC.Jobs.Models
/// Gets or sets the segmentbase brush stops.
/// </summary>
- public SynchronizedObservableCollection<BrushStopModel> BrushStops
+ public SynchronizedObservableCollection<BrushStopModel> BrushStops
{
get
{
@@ -247,11 +250,12 @@ namespace Tango.PPC.Jobs.Models
[JsonIgnore]
public bool IsOffsetChanged { get; set; }
-
+
public double LeftOffset
{
- get { return FirstBrushStop != null? FirstBrushStop.OffsetPercent : 0; }
- set {
+ get { return FirstBrushStop != null ? FirstBrushStop.OffsetPercent : 0; }
+ set
+ {
if (FirstBrushStop != null && FirstBrushStop.OffsetPercent != value)
{
FirstBrushStop.OffsetPercent = value;
@@ -270,13 +274,14 @@ namespace Tango.PPC.Jobs.Models
public double LeftOffsetChangeComleted
{
get { return _leftOffsetChangeComleted; }
- set {
- if(_leftOffsetChangeComleted != value)
+ set
+ {
+ if (_leftOffsetChangeComleted != value)
{
_leftOffsetChangeComleted = value;
RaisePropertyChangedAuto();
UndoRedoManager.Instance.InsertAndExecuteCommand(new ChangeOffsetCommand(this, LeftOffsetStartChanging, _leftOffsetChangeComleted, OffsetType.Left));
-
+
}
}
}
@@ -297,12 +302,13 @@ namespace Tango.PPC.Jobs.Models
public double MiddleOffset
{
get { return (MiddleBrushStop != null) ? MiddleBrushStop.OffsetPercent : 50; }
- set {
-
+ set
+ {
+
if (MiddleBrushStop != null && MiddleBrushStop.OffsetPercent != value)
{
MiddleBrushStop.OffsetPercent = value;
- RaisePropertyChangedAuto();
+ RaisePropertyChangedAuto();
IsOffsetChanged = true;
RaisePropertyChanged(nameof(SegmentBrush));
RaisePropertyChanged(nameof(MiddleOffsetLabel));
@@ -324,7 +330,7 @@ namespace Tango.PPC.Jobs.Models
_middleOffsetChangeComleted = value;
RaisePropertyChangedAuto();
UndoRedoManager.Instance.InsertAndExecuteCommand(new ChangeOffsetCommand(this, MiddleOffsetStartChanging, _middleOffsetChangeComleted, OffsetType.Middle));
-
+
}
}
}
@@ -344,9 +350,10 @@ namespace Tango.PPC.Jobs.Models
public double RightOffset
{
- get { return SecondBrushStop != null ? SecondBrushStop.OffsetPercent: 100; }
- set {
-
+ get { return SecondBrushStop != null ? SecondBrushStop.OffsetPercent : 100; }
+ set
+ {
+
if (SecondBrushStop != null && SecondBrushStop.OffsetPercent != value)
{
SecondBrushStop.OffsetPercent = value;
@@ -371,7 +378,7 @@ namespace Tango.PPC.Jobs.Models
_rightOffsetChangeComleted = value;
RaisePropertyChangedAuto();
UndoRedoManager.Instance.InsertAndExecuteCommand(new ChangeOffsetCommand(this, RightOffsetStartChanging, _rightOffsetChangeComleted, OffsetType.Right));
-
+
}
}
}
@@ -393,8 +400,8 @@ namespace Tango.PPC.Jobs.Models
{
get
{
- double length = Math.Round( LeftOffset * Length / 100, 1);
- return String.Format($"{Math.Round(LeftOffset,0)}%({length}m)" );
+ double length = Math.Round(LeftOffset * Length / 100, 1);
+ return String.Format($"{Math.Round(LeftOffset, 0)}%({length}m)");
}
}
@@ -403,7 +410,7 @@ namespace Tango.PPC.Jobs.Models
{
get
{
- double length = Math.Round((100-RightOffset) * Length / 100, 1);
+ double length = Math.Round((100 - RightOffset) * Length / 100, 1);
return String.Format($"{Math.Round(RightOffset, 0)}%({length}m)");
}
}
@@ -461,12 +468,12 @@ namespace Tango.PPC.Jobs.Models
{
get
{
- if(BrushStops.Count > 0)
+ if (BrushStops.Count > 0)
{
var brushStop = BrushStops.Where(x => x.Position == BrushStopModel.PositionStatus.FirstColor).FirstOrDefault();
return brushStop;
}
-
+
return null;
}
@@ -494,7 +501,7 @@ namespace Tango.PPC.Jobs.Models
{
bool hasError = (FirstBrushStop != null && FirstBrushStop.IsOutOfGamut)
|| (SecondBrushStop != null && SecondBrushStop.IsOutOfGamut);
-
+
return hasError;
}
}
@@ -504,7 +511,9 @@ namespace Tango.PPC.Jobs.Models
public bool IsSelected
{
get { return _isSelected; }
- set { _isSelected = value;
+ set
+ {
+ _isSelected = value;
RaisePropertyChangedAuto();
}
}
@@ -585,9 +594,9 @@ namespace Tango.PPC.Jobs.Models
foreach (var stop in BrushStops.ToList().OrderBy(x => x.StopIndex).ToList())
{
//TODO test if displayed is valid stop.IsValid
-
+
Color color = stop.BestMatchColor;
- stops.Add(new GradientStop( color, stop.OffsetPercent / 100d));
+ stops.Add(new GradientStop(color, stop.OffsetPercent / 100d));
}
LinearGradientBrush brush = new LinearGradientBrush();
@@ -605,7 +614,7 @@ namespace Tango.PPC.Jobs.Models
{
//TODO test if displayed is valid stop.IsValid
Color color = BrushStops[i].BestMatchColor;
- _brush.GradientStops[i].Color = color;
+ _brush.GradientStops[i].Color = color;
_brush.GradientStops[i].Offset = BrushStops[i].OffsetPercent / 100d;
}
@@ -632,7 +641,7 @@ namespace Tango.PPC.Jobs.Models
cloned.EnableInterSegment = EnableInterSegment;
cloned.BrushStops = BrushStops.Select(x => x.Clone()).ToSynchronizedObservableCollection();
cloned.BrushStops.ToList().ForEach(x => x.SegmentModel = cloned);
-
+
cloned.SegmentIndex = SegmentIndex + 1;
cloned.SegmentsGroupModel = SegmentsGroupModel;
return cloned;
@@ -651,7 +660,7 @@ namespace Tango.PPC.Jobs.Models
Length = length,
Name = "Inter Segment",
BrushStops = new SynchronizedObservableCollection<BrushStopModel>()
-
+
};
}
/// <summary>
@@ -672,7 +681,7 @@ namespace Tango.PPC.Jobs.Models
colorbrushStop.StopIndex = 2;
colorbrushStop.OffsetPercent = 0;
BrushStops.Add(colorbrushStop);
-
+
BrushStopModel middleBrushStop = firstBrush.Clone();
middleBrushStop.StopIndex = 3;
middleBrushStop.Position = BrushStopModel.PositionStatus.Middle;
@@ -703,23 +712,23 @@ namespace Tango.PPC.Jobs.Models
BrushStops.Add(lastSecondBrushStop);
}
- public void SetNewColor(BrushStopModel target, BrushStopModel source )
+ public void SetNewColor(BrushStopModel target, BrushStopModel source)
{
target.SetNewColor(source);
target.IsOutOfGamut = source.IsOutOfGamut;
if (target.Position == BrushStopModel.PositionStatus.FirstColor)
{
BrushStopModel first = BrushStops.Where(x => x.Position == BrushStopModel.PositionStatus.First).FirstOrDefault();
- if(first != null)
+ if (first != null)
{
first.SetNewColor(source);
first.IsOutOfGamut = source.IsOutOfGamut;
- }
+ }
}
- else if(target.Position == BrushStopModel.PositionStatus.SecondColor)
+ else if (target.Position == BrushStopModel.PositionStatus.SecondColor)
{
BrushStopModel last = BrushStops.Where(x => x.Position == BrushStopModel.PositionStatus.Last).FirstOrDefault();
- if(last != null)
+ if (last != null)
{
last.SetNewColor(source);
last.IsOutOfGamut = source.IsOutOfGamut;
@@ -728,7 +737,7 @@ namespace Tango.PPC.Jobs.Models
UpdateMiddleColorBrush();
RaiseSegmentBrushChanged();
}
-
+
public void UpdateMiddleColorBrush()
{
if (MiddleBrushStop != null && SecondBrushStop != null && FirstBrushStop != null)
@@ -737,13 +746,13 @@ namespace Tango.PPC.Jobs.Models
MiddleBrushStop.BestMatchColor = BrushStopModel.GetRelativeRGB(FirstBrushStop.BestMatchColor, SecondBrushStop.BestMatchColor, 0, 1, 0.5);
}
}
-
+
public void RemoveSecondColorOfGradient()
{
if (BrushStops.Count < 5)
- return ;
- BrushStops.RemoveAt(4);
- BrushStops.RemoveAt(3);
+ return;
+ BrushStops.RemoveAt(4);
+ BrushStops.RemoveAt(3);
}
public void ArrangeBrushStopsIndexes()
@@ -764,7 +773,7 @@ namespace Tango.PPC.Jobs.Models
else if (BrushStops.Count > 1)
BrushStops.ToList().ForEach(x => x.Position = (BrushStopModel.PositionStatus)x.StopIndex);
}
-
+
public void SwapBrushStops()
{
if (BrushStops.Count > 1)
@@ -776,7 +785,7 @@ namespace Tango.PPC.Jobs.Models
var left_temp = BrushStops[index];
var right_stopIndex = BrushStops[lastIndex].StopIndex;
var right_offsetPercent = BrushStops[lastIndex].OffsetPercent;
-
+
BrushStops[index] = BrushStops[lastIndex];
BrushStops[index].StopIndex = left_temp.StopIndex;
BrushStops[index].OffsetPercent = left_temp.OffsetPercent;
@@ -834,7 +843,7 @@ namespace Tango.PPC.Jobs.Models
if (Job != null && Job.Rml != null)
{
var gramPerlength = Job.Rml.GetGramPer1000mLength;
- var weight = (Length * gramPerlength)/( 1000 );//(kg)
+ var weight = (Length * gramPerlength) / (1000);//(kg)
_weight = weight;
RaisePropertyChanged(nameof(Weight));
//if (_lastLength != length)
@@ -858,7 +867,7 @@ namespace Tango.PPC.Jobs.Models
if (Job != null && Job.Rml != null)
{
var gramPerlength = Job.Rml.GetGramPer1000mLength;
- var length = (Weight * 1000 )/ gramPerlength;//(m) weight in gr
+ var length = (Weight * 1000) / gramPerlength;//(m) weight in gr
_length = length;
RaisePropertyChanged(nameof(Length));
@@ -867,7 +876,7 @@ namespace Tango.PPC.Jobs.Models
RaisePropertyChanged(nameof(LeftOffsetLabel));
RaisePropertyChanged(nameof(MiddleOffsetLabel));
RaisePropertyChanged(nameof(RightOffsetLabel));
-
+
}
}
@@ -876,62 +885,68 @@ namespace Tango.PPC.Jobs.Models
/// </summary>
/// <param name="brushstops"></param>
protected void OnBrushStopsChanged(SynchronizedObservableCollection<BrushStopModel> brushstops)
+ {
+ if (brushstops != null)
{
- if (brushstops != null)
- {
- brushstops.CollectionChanged -= BrushStops_CollectionChanged;
- brushstops.CollectionChanged += BrushStops_CollectionChanged;
+ brushstops.CollectionChanged -= BrushStops_CollectionChanged;
+ brushstops.CollectionChanged += BrushStops_CollectionChanged;
- foreach (var stop in brushstops.ToList())
- {
- stop.RaiseOffsetChanged();
- }
-
- RaiseSegmentBrushChanged();
+ foreach (var stop in brushstops.ToList())
+ {
+ stop.RaiseOffsetChanged();
}
- }
- private void AddGap()
- {
- EnableInterSegment = true;
+ RaiseSegmentBrushChanged();
}
+ }
- private void DeleteGap()
- {
- EnableInterSegment = false;
- }
+ private void AddGap()
+ {
+ EnableInterSegment = true;
+ }
- public void UpdateBrushStops()
- {
- foreach (var stop in BrushStops.Where(x => x.ColorSpace == BL.Enumerations.ColorSpaces.RGB || x.ColorSpace == BL.Enumerations.ColorSpaces.LAB).ToList())
- {
- try
- {
- stop.OnBrushStopFieldValueChanged();
- stop.InitColorsFromBestmatch();
- //TODO ASK ROY!!!!!!
- //output.ApplyOnBrushStopVolumesOnly(stop);
- }
- catch (Exception ex)
- {
- LogManager.Log(ex, $"Error updating stop volumes after changing thread on segment {stop.SegmentModel.SegmentIndex}, stop {stop.StopIndex}.");
- }
- }
- }
+ private void DeleteGap()
+ {
+ EnableInterSegment = false;
+ }
- public void UpdateWeightOnRMLChange( bool isWeightView)
+ public void UpdateBrushStops()
+ {
+ foreach (var stop in BrushStops.Where(x => x.ColorSpace == BL.Enumerations.ColorSpaces.RGB || x.ColorSpace == BL.Enumerations.ColorSpaces.LAB).ToList())
{
- if(isWeightView)
+ try
{
- OnWeightChanged();
+ stop.OnBrushStopFieldValueChanged();
+ stop.InitColorsFromBestmatch();
+ //TODO ASK ROY!!!!!!
+ //output.ApplyOnBrushStopVolumesOnly(stop);
}
- else
+ catch (Exception ex)
{
- OnLengthChanged(Length);
+ LogManager.Log(ex, $"Error updating stop volumes after changing thread on segment {stop.SegmentModel.SegmentIndex}, stop {stop.StopIndex}.");
}
}
+ foreach (var stop in BrushStops.Where(x => x.ColorSpace == ColorSpaces.Volume))
+ {
+ stop.InitLiquidVolumes();
+ }
- #endregion
}
+
+ public void UpdateWeightOnRMLChange(bool isWeightView)
+ {
+ if (isWeightView)
+ {
+ OnWeightChanged();
+ }
+ else
+ {
+ OnLengthChanged(Length);
+ }
+ }
+
+
+ #endregion
}
+}