123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- #ifndef __ILOCALIZATION_MANAGER_H__
- #define __ILOCALIZATION_MANAGER_H__
- // *****************************************************************************
- // 版权所有(C)2023~2099 上海骄成超声波技术有限公司
- // 保留所有权利
- // *****************************************************************************
- // 作者 : 李祥瑞
- // 版本 : 1.1
- // 代码创建日期:2024/11/20
- // 版本更新日期:2024/11/25
- // 功能说明:定位算法管理器接口
- // *****************************************************************************
- #include "ILocalization.h"
- namespace JVision
- {
- /**
- * @brief 定位算法管理器接口
- *
- */
- class JVision_API ILocalizationManager
- {
- public:
- /**
- * @brief 构造函数
- * @param rootDir 数据存储的根目录
- */
- ILocalizationManager(const std::string& rootDir) {}
- virtual ~ILocalizationManager() {}
- /**
- * @brief 显示添加页面
- * @param[in] userRights 用户权限等级 (预留)
- * @param[in] imgInfo 图像数据
- * @param[in] localizationName 算法名
- * @param[in] message 附加信息
- *
- * @return int 添加的算法索引, 小于0表示失败
- */
- virtual int ShowAdd(E_PERMISSION_LEVEL permissionLevel, const ImageInfo& imgInfo, const std::string& localizationName, const std::string& message, int cameraID) = 0;
- /**
- * @brief 显示编辑页面
- * @param[in] userRights 用户权限等级 (预留)
- * @param[in] index 算法索引
- * @param[in] imgInfo 图像数据
- * @param[in] message 附加信息
- *
- * @return ResultCode 0: 成功, 其他: 失败
- *
- * @note 对应的错误码类型可以通过ExecuteErrorCode中接口获取失败信息
- */
- virtual ResultCode ShowEdit(E_PERMISSION_LEVEL permissionLevel, int index, const ImageInfo& imgInfo, const std::string& message) = 0;
- /**
- * @brief 移除某个算法(包含存储的数据)
- * @param[in] index 算法索引
- *
- * @return ResultCode 0: 成功, 其他: 失败
- *
- * @note 对应的错误码类型可以通过ExecuteErrorCode中接口获取失败信息
- */
- virtual ResultCode Remove(int index) = 0;
- /**
- * @brief 获取算法
- * @param index[in] 算法索引
- *
- * @return 算法
- */
- virtual ILocalization* Get(int index) const = 0;
- /**
- * @brief 清空数据 & 清空存储文件
- */
- virtual void Clear() = 0;
- /**
- * @brief 获取算法存储的目录
- * @param[in] index 算法索引
- *
- * @return std::string 对应算法的目录
- */
- virtual std::string GetLocalizationDir(int index) const = 0;
- /**
- * @brief 加载算法
- * @param[in] rootDir 数据存储的根目录
- *
- * @return ResultCode 0: 成功, 其他: 失败
- *
- * @note 对应的错误码类型可以通过ExecuteErrorCode中接口获取失败信息
- */
- virtual ResultCode Load(const std::string& rootDir) = 0;
- /**
- * @brief 获取算法管理
- * @param[in] rootDir 数据存储的根目录
- *
- * @return ILocalizationManager 算法管理实例
- */
- static ILocalizationManager* GetILocalizationManager(const std::string& rootDir);
- // 新增照明矫正数据
- static void AddIlluminateData(int cameraID, int min, int max);
- // 删除照明矫正数据
- static void DelIlluminateData(int cameraID);
- // 存储公共数据
- static void SaveCommonData();
- };
- } // namespace JVision
- #endif
|