using System; namespace VisionCommon { public enum eFovCoordPos { LowLow, HighLow, HighHigh, LowHigh, None } public class CalFovRecipe : ICloneCopy { public eFovCoordPos FovCoordPos { get; set; } = eFovCoordPos.None; public StaticPoint FovCenter { get; set; } = new StaticPoint(); public StaticPoint FovCenterOffset { get; set; } = new StaticPoint(); public Angle ErrRotationX { get; set; } = new Angle(); // MotorX -> 영상X축 public StaticPoint PixelSize { get; set; } = new StaticPoint(); // [mm/px] public int PatternId { get; set; } = 0; public bool IsFovPattern { get; set; } = true; public CalFovRecipe Clone() { return ((ICloneable)this).Clone() as CalFovRecipe; } object ICloneable.Clone() { var cloneObj = new CalFovRecipe(); CopyTo(cloneObj); return cloneObj; } public void CopyTo(CalFovRecipe target) { target.FovCoordPos = this.FovCoordPos; target.FovCenter = this.FovCenter.Clone() as StaticPoint; target.FovCenterOffset = this.FovCenterOffset.Clone() as StaticPoint; target.ErrRotationX = this.ErrRotationX.Clone() as Angle; target.PixelSize = this.PixelSize.Clone() as StaticPoint; target.PatternId = this.PatternId; target.IsFovPattern = this.IsFovPattern; } } }