/* * 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 조명 윈도우 /// /// 특정 서브시스템 / 모든 카메라 - 모든 조명 윈도우들 띄우기 /// 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); } } /// /// 특정 서브시스템 / 특정 카메라 - 특정 조명 윈도우 띄우기 /// public static void ShowLightSettingWindow(FovInfo fovInfo) { try { var lightSettingWindow = new CameraLightSettingWindow(fovInfo); lightSettingWindow?.Show(); } catch (Exception e) { _Logger.FuncE(e.Message); } } /// /// 특정 서브시스템 / 모든 카메라 - 모든 조명 윈도우들 리턴 /// public static Dictionary GetLightSettingWindows(SubSysInfo subSysInfo) { try { var lightSettingWindows = new Dictionary(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; } /// /// 특정 서브시스템 / 특정 카메라 - 특정 조명 윈도우 리턴 /// public static CameraLightSettingWindow GetLightSettingWindow(FovInfo fovInfo) { try { return new CameraLightSettingWindow(fovInfo); } catch (Exception e) { _Logger.FuncE(e.Message); } return null; } #endregion #region 조명 뷰 /// /// 특정 서브시스템 / 모든 카메라 - 모든 조명 뷰들 리턴 /// public static Dictionary GetLightSettingViews(SubSysInfo subSysInfo) { try { var lightSettingViews = new Dictionary(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; } /// /// 특정 서브시스템 / 특정 카메라 - 조명 뷰 리턴 /// public static CameraLightSettingView GetLightSettingView(FovInfo fovInfo) { try { return new CameraLightSettingView(fovInfo); } catch (Exception e) { _Logger.FuncE(e.Message); } return null; } #endregion } }