48 lines
1.5 KiB
C#
48 lines
1.5 KiB
C#
/*
|
|
* Copyright (c) 2025 LG Electronics Inc.
|
|
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
|
|
*/
|
|
using Aurora;
|
|
using Aurora.Api;
|
|
using VisionCommon;
|
|
using System;
|
|
using System.Reflection;
|
|
|
|
namespace VisionDirector {
|
|
/// <summary>
|
|
/// 모션 디렉터 생성 및 등록
|
|
/// </summary>
|
|
public static class MotionDirectorFactory {
|
|
private static Logger _logger = new Logger(typeof(MotionDirectorFactory).Name);
|
|
|
|
/// <summary>
|
|
/// 모션 디렉터 생성 및 등록
|
|
/// </summary>
|
|
public static void Register() {
|
|
try {
|
|
VersionChecker.Print(Assembly.GetExecutingAssembly().GetName());
|
|
|
|
foreach (eUnitId unitId in VisionRecipeManager.GetUnitIds()) {
|
|
foreach (SubSysInfo subSysInfo in VisionRecipeManager.GetSubSysInfos(unitId)) {
|
|
CreateTeachingDirector(subSysInfo);
|
|
CreateAlignDirector(subSysInfo);
|
|
}
|
|
}
|
|
}
|
|
catch (Exception e) {
|
|
_logger.FuncE(e.Message);
|
|
}
|
|
}
|
|
|
|
private static void CreateTeachingDirector(SubSysInfo subSysInfo) {
|
|
TeachingDirectorManager.Instance.SetDirector(
|
|
subSysInfo, new TeachingDirector(subSysInfo));
|
|
}
|
|
|
|
private static void CreateAlignDirector(SubSysInfo subSysInfo) {
|
|
AlignDirectorManager.Instance.SetDirector(
|
|
subSysInfo, new AlignDirector(subSysInfo));
|
|
}
|
|
}
|
|
}
|