2026-01-26 18:56:53 +09:00

41 lines
1.8 KiB
C#

/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using System.Collections.Generic;
using VisionCommon;
namespace VisionSequence {
/// <summary>
/// Align Sequence 유틸 클래스 ( 예시 Flying Vision 사용 시 ref distance 관련 )
/// </summary>
public class AlignSeqUtil {
/// <summary>
/// 패턴 포지션별 정위치(센터로부터 X,Y거리)가 센터로 보고 얼라인
/// </summary>
/// <returns></returns>
public static RefDistParam GetDefaultRefDistParam() {
var refDists = new Dictionary<int, RefDist>();
//refDists.Add(0, new RefDist(-1, -4)); // 얼라인 레퍼런스 : 센터 + 오프셋
//refDists.Add(1, new RefDist(0.87, 6));
refDists.Add(0, new RefDist(0, 0)); // 얼라인 레퍼런스 : 센터
refDists.Add(1, new RefDist(0, 0));
var distanceTolerance = 2; // 패턴 정위치와 실제 찾은 패턴의 위치 간에 허용 오차 거리 값 (mm). 변경 가능.
return new RefDistParam(refDists, distanceTolerance);
}
/// <summary>
/// 패턴 포지션별 정위치(센터로부터 X,Y거리) 정보를 RefDistParam으로 정의. 향후 얼라인 보정량 계산에 사용됨.
/// </summary>
/// <param name="refDists">패턴 포지션별 정위치(센터로부터 X,Y거리)</param>
/// <param name="distanceTolerance">패턴 정위치와 실제 찾은 패턴의 위치 간에 허용 오차 거리 값 (mm).</param>
/// <returns></returns>
public static RefDistParam GetRefDistParam(
Dictionary<int, RefDist> refDists,
int distanceTolerance = 2) {
return new RefDistParam(refDists, distanceTolerance);
}
}
}