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

68 lines
1.7 KiB
C#

/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using Aurora.Api.Devices;
using Hermes;
namespace VisionCommon {
/// <summary>
/// 기본 모션
/// </summary>
public class DefaultMotion : IMotion {
public int RelMove(Position delta) {
return E1.OK;
}
public int AbsMove(Position position) {
return E1.OK;
}
public int MovePosition(ePositionType positionType) {
return E1.OK;
}
public Position GetPosition() {
return new Position();
}
}
/// <summary>
/// 기본 서브 시스템 모션 매니저
/// </summary>
public class DefaultSubSysMotionManager : MotionManager<SubSysInfo> {
/// <summary>
/// 생성자
/// </summary>
public DefaultSubSysMotionManager() {
SetMotions();
}
private void SetMotions() {
foreach (eUnitId unitId in VisionRecipeManager.GetUnitIds()) {
foreach (SubSysInfo subSysInfo in VisionRecipeManager.GetSubSysInfos(unitId)) {
SetMotion(subSysInfo, new DefaultMotion());
}
}
}
}
/// <summary>
/// 기본 FOV 모션 매니저
/// </summary>
public class DefaultFovMotionManager : MotionManager<FovInfo> {
/// <summary>
/// 생성자
/// </summary>
public DefaultFovMotionManager() {
SetMotions();
}
private void SetMotions() {
foreach (var fovInfo in VisionRecipeManager.GetFovInfos()) {
SetMotion(fovInfo, new DefaultMotion());
}
}
}
}