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

53 lines
1.5 KiB
C#

/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using Newtonsoft.Json;
using System;
namespace VisionCommon {
/// <summary>
/// 카메라 설정을 위한 Recipe
/// </summary>
public class CamRecipe : ICloneable {
/// <summary>
/// 카메라(HW) ID
/// </summary>
public eCamId CamId { get; set; } = eCamId.CAM1;
/// <summary>
/// 카메라(Aurora Device)의 CamId를 반환한다.
/// </summary>
/// <param name="deviceId">카메라의 Aurora Device ID</param>
/// <returns>CamId</returns>
public static eCamId GetCamIdFromDevId(string deviceId) {
foreach (eCamId camId in Enum.GetValues(typeof(eCamId))) {
if (camId.ToString().Equals(deviceId)) {
return camId;
}
}
return eCamId.None;
}
/// <summary>
/// Clone (Deep Copy)
/// </summary>
/// <returns>CamRecipe</returns>
public object Clone() {
return new CamRecipe() {
CamId = this.CamId
};
}
}
/// <summary>
/// 하드웨어 카메라마다 고유하게 지정
/// </summary>
public enum eCamId {
None = -1,
CAM1, CAM2, CAM3, CAM4, CAM5, CAM6, CAM7, CAM8, CAM9, CAM10,
CAM11, CAM12, CAM13, CAM14, CAM15, CAM16, CAM17, CAM18, CAM19, CAM20,
CAM21, CAM22, CAM23, CAM24, CAM25, CAM26, CAM27, CAM28, CAM29, CAM30,
Max
}
}