41 lines
1.5 KiB
C#
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;
|
|
}
|
|
}
|
|
} |