#ifndef NV_SCENE_MGR_H #define NV_SCENE_MGR_H ///////////////////////////////////////////////////////////////////////// /// @file nvCFPDSceneMgr.h /// @brief 此文件提供探测器SDK 场景管理的接口函数,接口函数需要配合SDK的标准函数进行使用,不可独立使用 /// @version V1.0.1.0 /// @author Liliudan /// @date 2020-06-30 /// @par Copyright (c): Sensview Technology 成都善思微科技有限公司 ///////////////////////////////////////////////////////////////////////// #ifdef NV_SCENEMGR_EXPORTS #define NV_SCENEMGR_API __declspec(dllexport) #else #define NV_SCENEMGR_API __declspec(dllimport) #endif #include "nvSceneMgrType.h" #ifdef __cplusplus extern "C" { #endif ///////////////////////////////////////////////////////////////////////// /// @brief 根据过滤条件枚举场景(包括缺省和自定义存储) /// @param [in] iClassify 分类类型,根据类型过滤场景,支持或操作 /// @param [in out] hItems 返回的所有场景的头指针 /// @param [in out] iCnt 返回的场景的总数 /// @retval NV_StatusCodes 返回状态码,若成功则返回NV_SC_SUCCESS /// @note 该函数让用户获取所有的场景列表,当增加或删除后建议使用此函数更新场景列表 ///////////////////////////////////////////////////////////////////////// NV_SCENEMGR_API NV_StatusType NV_SCENEMGR_EnumAllScenes(int iClassify, const SCENE_ITEM ** hItems, int * iCnt); ///////////////////////////////////////////////////////////////////////// /// @brief 加载场景 /// @param [in out] iSceneID 场景对象ID /// @retval NV_StatusCodes 返回状态码,若成功则返回NV_SC_SUCCESS /// @note 该函数让用户加载一个指定的场景 ///////////////////////////////////////////////////////////////////////// NV_SCENEMGR_API NV_StatusType NV_SCENEMGR_LoadScene(NV_SCENE_ID iSceneID); ///////////////////////////////////////////////////////////////////////// /// @brief 修改场景 /// @param [in] iSceneID 场景对象ID /// @param [in] pItemsInfo 场景对象信息 /// @retval NV_StatusCodes 返回状态码,若成功则返回NV_SC_SUCCESS /// @note 该函数让用户修改一个指定的场景,只能够修改自定义场景 ///////////////////////////////////////////////////////////////////////// NV_SCENEMGR_API NV_StatusType NV_SCENEMGR_ModifyScene(NV_SCENE_ID iSceneID, SCENE_ITEM * pItemsInfo); ///////////////////////////////////////////////////////////////////////// /// @brief 删除场景 /// @param [in out] iSceneID 场景对象ID /// @retval NV_StatusCodes 返回状态码,若成功则返回NV_SC_SUCCESS /// @note 该函数让用户删除一个指定的场景,只能够删除自定义场景 ///////////////////////////////////////////////////////////////////////// NV_SCENEMGR_API NV_StatusType NV_SCENEMGR_DeleteScene(NV_SCENE_ID iSceneID); ///////////////////////////////////////////////////////////////////////// /// @brief 从已有场景中拷贝一个场景,并返回拷贝后的场景id和信息 /// @param [in] iSrcSceneID 指定的场景ID /// @param [in] iObjSceneID 返回的拷贝后的场景ID /// @param [in] pItemsInfo 返回的拷贝后的场景对象信息 /// @retval NV_StatusCodes 返回状态码,若成功则返回NV_SC_SUCCESS /// @note 该函数让用户加载一个指定的场景 ///////////////////////////////////////////////////////////////////////// NV_SCENEMGR_API NV_StatusType NV_SCENEMGR_CopyFromExistScene(NV_SCENE_ID iSrcSceneID, NV_SCENE_ID * iObjSceneID); ///////////////////////////////////////////////////////////////////////// /// @brief 自定义信息保存一个场景,并返回场景ID /// @param [in out] iSceneID 返回的所有场景的头指针 /// @retval NV_StatusCodes 返回状态码,若成功则返回NV_SC_SUCCESS /// @note 该函数让用户保存一个自定义的场景 ///////////////////////////////////////////////////////////////////////// NV_SCENEMGR_API NV_StatusType NV_SCENEMGR_SaveScene(SCENE_ITEM * pItemInfo, NV_SCENE_ID * iSceneID); #ifdef __cplusplus } #endif #endif //NV_SCENE_MGR_H