68 lines
1.7 KiB
C#
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());
|
|
}
|
|
}
|
|
}
|
|
}
|