/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using Aurora.View;
using System;
using VisionCommon;
namespace VisionInspector {
///
/// 부착검사 결과 로그 아이템
///
public class AttachInspResultItem {
/// 검사 시간
public string Time { get; set; }
/// FOV ID
public string FovId { get; set; }
/// 수평(Width) 측정 결과
public double MeasureW { get; set; }
/// 수평(Width) 스펙
public double SpecW { get; set; }
/// 수평(Width) 에러
public double ErrW { get; set; }
/// 수직(Height) 측정 결과
public double MeasureH { get; set; }
/// 수직(Height) 스펙
public double SpecH { get; set; }
/// 수직(Height) 에러
public double ErrH { get; set; }
/// 검사 결과 상태
public string InspStatus { get; set; }
}
///
/// 부착검사 결과 아이템 매니저
///
public class AttachInspResultItemManager : ItemManagerBase {
private static readonly object _Lock = new object();
///
/// 부착검사 결과를 로그 아이템으로 변환
///
///
/// 부착검사 결과 로그 아이템
public static AttachInspResultItem GetAttachInspResultItem(SubSysInfo subSysInfo, AttachInspResult attachInspResult) {
lock (_Lock) {
return new AttachInspResultItem() {
Time = GetTimeStamp(subSysInfo, attachInspResult),
FovId = attachInspResult.FovId.ToString(),
MeasureW = CoordUnitValueConverter.GetCoordUnitValue(attachInspResult.MeasureW),
SpecW = CoordUnitValueConverter.GetCoordUnitValue(attachInspResult.SpecW),
ErrW = CoordUnitValueConverter.GetCoordUnitValue(attachInspResult.ErrW),
MeasureH = CoordUnitValueConverter.GetCoordUnitValue(attachInspResult.MeasureH),
SpecH = CoordUnitValueConverter.GetCoordUnitValue(attachInspResult.SpecH),
ErrH = CoordUnitValueConverter.GetCoordUnitValue(attachInspResult.ErrH),
InspStatus = attachInspResult.InspStatus.ToString()
};
}
}
}
}