112 lines
3.8 KiB
C#
112 lines
3.8 KiB
C#
/*
|
|
* Copyright (c) 2025 LG Electronics Inc.
|
|
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
|
|
*/
|
|
using Aurora.Api;
|
|
using VisionCommon;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace VisionCommonUI {
|
|
public class CameraLightWindowManager {
|
|
private static Logger _Logger = new Logger(typeof(CameraLightWindowManager).Name);
|
|
|
|
#region 조명 윈도우
|
|
/// <summary>
|
|
/// 특정 서브시스템 / 모든 카메라 - 모든 조명 윈도우들 띄우기
|
|
/// </summary>
|
|
public static void ShowLightSettingWindows(SubSysInfo subSysInfo) {
|
|
try {
|
|
foreach (var fovInfo in VisionRecipeManager.GetFovInfos(subSysInfo)) {
|
|
var lightSettingWindow = new CameraLightSettingWindow(fovInfo);
|
|
lightSettingWindow?.Show();
|
|
}
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 특정 서브시스템 / 특정 카메라 - 특정 조명 윈도우 띄우기
|
|
/// </summary>
|
|
public static void ShowLightSettingWindow(FovInfo fovInfo) {
|
|
try {
|
|
var lightSettingWindow = new CameraLightSettingWindow(fovInfo);
|
|
lightSettingWindow?.Show();
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 특정 서브시스템 / 모든 카메라 - 모든 조명 윈도우들 리턴
|
|
/// </summary>
|
|
public static Dictionary<FovInfo, CameraLightSettingWindow> GetLightSettingWindows(SubSysInfo subSysInfo) {
|
|
try {
|
|
var lightSettingWindows = new Dictionary<FovInfo, CameraLightSettingWindow>(VisionRecipeManager.GetFovCnt(subSysInfo));
|
|
foreach (var fovInfo in VisionRecipeManager.GetFovInfos(subSysInfo)) {
|
|
lightSettingWindows.Add(fovInfo, new CameraLightSettingWindow(fovInfo));
|
|
}
|
|
|
|
return lightSettingWindows;
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 특정 서브시스템 / 특정 카메라 - 특정 조명 윈도우 리턴
|
|
/// </summary>
|
|
public static CameraLightSettingWindow GetLightSettingWindow(FovInfo fovInfo) {
|
|
try {
|
|
return new CameraLightSettingWindow(fovInfo);
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
#endregion
|
|
|
|
#region 조명 뷰
|
|
/// <summary>
|
|
/// 특정 서브시스템 / 모든 카메라 - 모든 조명 뷰들 리턴
|
|
/// </summary>
|
|
public static Dictionary<FovInfo, CameraLightSettingView> GetLightSettingViews(SubSysInfo subSysInfo) {
|
|
try {
|
|
var lightSettingViews = new Dictionary<FovInfo, CameraLightSettingView>(VisionRecipeManager.GetFovCnt(subSysInfo));
|
|
foreach (var fovInfo in VisionRecipeManager.GetFovInfos(subSysInfo)) {
|
|
lightSettingViews.Add(fovInfo, new CameraLightSettingView(fovInfo));
|
|
}
|
|
|
|
return lightSettingViews;
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 특정 서브시스템 / 특정 카메라 - 조명 뷰 리턴
|
|
/// </summary>
|
|
public static CameraLightSettingView GetLightSettingView(FovInfo fovInfo) {
|
|
try {
|
|
return new CameraLightSettingView(fovInfo);
|
|
}
|
|
catch (Exception e) {
|
|
_Logger.FuncE(e.Message);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
#endregion
|
|
}
|
|
} |