using Aurora.View; using ILSOS_PrismaticGun.Process; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ILSOS_PrismaticGun.Device.ACS { public class MotionVariable : NotifyPropertyChangedBase { public MotionVariable(eStage stage) { Stage = stage; } private eStage Stage { get; set; } public double XAxisPosition { get; set; } = 0.0; public bool XInPosition { get; set; } = false; public double XAxisVelocity { get; set; } = 0.0; public double XAxisLoadFactor { get; set; } = 0.0; public double YAxisPosition { get; set; } = 0.0; public bool YInPosition { get; set; } = false; public double YAxisVelocity { get; set; } = 0.0; public double YAxisLoadFactor { get; set; } = 0.0; public double ZAxisPosition { get; set; } = 0.0; public bool ZInPosition { get; set; } = false; public bool IsHome { get; set; } = false; public bool IsLoadPosition { get; set; } = false; public bool IsUnloadPosition { get; set; } = false; public bool IsSafetyPosition { get; set; } = false; public bool IsWeldingStartPosition { get; set; } = false; public bool IsLoadEnable { get; set; } = false; public bool IsUnloadEnable { get; set; } = false; } public class MotionVariableCollection : ObservableCollection { public MotionVariableCollection() { } public MotionVariableCollection(IEnumerable collection) : base(collection) { } public MotionVariableCollection(List list) : base(list) { } public MotionVariable this[eStage stage] { get => base[Convert.ToInt32(stage)]; } } }