2026-01-26 14:51:28 +09:00

41 lines
1.5 KiB
C#

/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using System;
namespace VisionCommon {
public enum eFovCoordPos {
LowLow, HighLow, HighHigh, LowHigh, None
}
public class CalFovRecipe : ICloneCopy<CalFovRecipe> {
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;
}
}
}