92 lines
3.3 KiB
C#
92 lines
3.3 KiB
C#
/*
|
|
* Copyright (c) 2025 LG Electronics Inc.
|
|
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
|
|
*/
|
|
using Aurora.Api;
|
|
using VisionCommon;
|
|
using System.Windows.Controls;
|
|
using VisionAligner;
|
|
using Aurora;
|
|
using VisionUI.Pattern;
|
|
using VisionInspector;
|
|
using System.Windows;
|
|
using System.Collections.ObjectModel;
|
|
using System;
|
|
using System.Reflection;
|
|
|
|
#if USE_COGNEX
|
|
using CogUI;
|
|
#else
|
|
using MilUI;
|
|
#endif
|
|
|
|
namespace VisionUI {
|
|
/// <summary>
|
|
/// MIL or Cognex 관련 뷰를 생성 및 관리한다.
|
|
/// </summary>
|
|
public static class IpViewManager {
|
|
private static Logger _Logger = new Logger("IpViewManager");
|
|
/// <summary>Force Ok 뷰</summary>
|
|
public static ForceOkView ForceOkView { get; set; }
|
|
|
|
/// <summary>
|
|
/// 카메라 뷰
|
|
/// </summary>
|
|
/// <param name="fovInfo">Fov 정보</param>
|
|
/// <param name="displayType">디스플레이 타입</param>
|
|
/// <returns></returns>
|
|
public static CameraView CreateCameraView(FovInfo fovInfo, eDisplayType displayType) {
|
|
string viewName = "camView" + displayType.ToString() + fovInfo.GetKey().Replace("_", string.Empty);
|
|
return new CameraView(fovInfo, displayType) { Name = viewName };
|
|
}
|
|
|
|
/// <summary>
|
|
/// 카메라 뷰 해제
|
|
/// </summary>
|
|
/// <param name="camView">카메라 뷰</param>
|
|
public static void DisposeCameraView(UserControl camView) {
|
|
var cameraView = camView as CameraView;
|
|
cameraView.Dispose();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 그래픽 컬러 가져오기 (from Align)
|
|
/// </summary>
|
|
/// <param name="alignStatus">얼라인 상태</param>
|
|
/// <returns>컬러</returns>
|
|
public static eColor GetGraphicColor(AlignStatus alignStatus) {
|
|
return (eColor)DisplayDrawer.GetGraphicColor(alignStatus);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 그래픽 컬러 가져오기 (from Inspection)
|
|
/// </summary>
|
|
/// <param name="inspStatus">인스펙션 상태</param>
|
|
/// <returns>컬러</returns>
|
|
public static eColor GetGraphicColor(InspStatus inspStatus) {
|
|
return (eColor)DisplayDrawer.GetGraphicColor(inspStatus);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 패턴 리스트 뷰 모델 생성
|
|
/// </summary>
|
|
/// <param name="fovInfo">Fov 정보</param>
|
|
/// <param name="camView">카메라 뷰</param>
|
|
/// <returns>Fov 패턴리스트 뷰모델</returns>
|
|
public static PatternListViewModel CreatePatternListViewModel(FovInfo fovInfo, UserControl camView) {
|
|
return new PatternListViewModel(fovInfo, camView as CameraView);
|
|
}
|
|
|
|
/// <summary>
|
|
/// ForceOk 뷰 생성
|
|
/// </summary>
|
|
/// <param name="fovInfo">Fov 정보</param>
|
|
/// <param name="patternInfo">패턴 정보</param>
|
|
/// <param name="findImage">찾은 이미지</param>
|
|
/// <param name="forceOkWindow">ForceOk 윈도우</param>
|
|
public static void CreateForceOkView(FovInfo fovInfo, PatternInfo patternInfo, object findImage, ForceOkWindow forceOkWindow) {
|
|
ForceOkView = new ForceOkView(fovInfo, patternInfo, findImage);
|
|
ForceOkView.ParentWindow = forceOkWindow;
|
|
}
|
|
}
|
|
} |