using Aurora.Api; using Aurora.Api.Devices; using Aurora.View; using WeldingCommon.Process; // 26.04.13 using OpenCvSharp; using System; using System.Collections.Generic; using System.Linq; using System.Security.Permissions; using System.Text; using System.Threading.Tasks; using System.Xml.Linq; namespace WeldingCommon.Settings { public enum eTeachingPosition { Load, UnLoad, SafetyPosition, StageWeldingStartPos, } public class TeachingPositionSetting : ISettingItem { public SettingPosition[] SettingPositions { get; set; } = new SettingPosition[Enum.GetValues(typeof(eTeachingPosition)).Length]; public TeachingPositionSetting() { SettingPositions[0] = new SettingPosition(eTeachingPosition.Load); SettingPositions[1] = new SettingPosition(eTeachingPosition.UnLoad); SettingPositions[2] = new SettingPosition(eTeachingPosition.SafetyPosition); SettingPositions[3] = new SettingPosition(eTeachingPosition.StageWeldingStartPos); } public SettingPosition Get(eTeachingPosition position) { int positionIndex = (int)position; if (positionIndex < 0 || positionIndex >= SettingPositions.Length) return null; return SettingPositions[positionIndex]; } } public class SettingPosition : NotifyPropertyChangedBase { public string Name { get => _Name; set => SetProperty(ref _Name, value); } private string _Name; public double AxisX { get => _AxisX; set => SetProperty(ref _AxisX, value); } private double _AxisX = 0.0; public double AxisY1 { get => _AxisY1; set => SetProperty(ref _AxisY1, value); } private double _AxisY1 = 0.0; public double AxisY2 { get => _AxisY2; set => SetProperty(ref _AxisY2, value); } private double _AxisY2 = 0.0; public double AxisZ { get => _AxisZ; set => SetProperty(ref _AxisZ, value); } private double _AxisZ = 0.0; public SettingPosition(eTeachingPosition position) { Name = $"{Enum.GetName(typeof(eTeachingPosition), position)}"; AxisX = -999.0; AxisY1 = -999.0; AxisY2 = -999.0; AxisZ = -999.0; } public SettingPosition() { AxisX = -999.0; AxisY1 = -999.0; AxisY2 = -999.0; AxisZ = -999.0; } } }