78 lines
2.4 KiB
C#

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;
}
}
}