using System; using System.Collections.Generic; using System.Windows; namespace MainShell.Process { public class WaferScanPlan { public WaferScanPlan() { PathPoints = Array.Empty(); RawPathPoints = Array.Empty(); FinalPathPoints = Array.Empty(); Adjustments = Array.Empty(); } public Point StartPoint { get; set; } public Point EndPoint { get; set; } public IReadOnlyList PathPoints { get; set; } public IReadOnlyList RawPathPoints { get; set; } public IReadOnlyList FinalPathPoints { get; set; } public WaferScanArea ScanArea { get; set; } public double StepX { get; set; } public double StepY { get; set; } public double OverlapX { get; set; } public double OverlapY { get; set; } public IReadOnlyList Adjustments { get; set; } public string PathGenerationMessage { get; set; } public int ScanRowCount { get; set; } public int ScanColumnCount { get; set; } public int SoftLimitAdjustedCount { get; set; } public int AddedCoveragePointCount { get; set; } public int PathPointCount { get { IReadOnlyList effectivePathPoints = FinalPathPoints ?? PathPoints; return effectivePathPoints == null ? 0 : effectivePathPoints.Count; } } } }