nvCFPDSceneMgr.h 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #ifndef NV_SCENE_MGR_H
  2. #define NV_SCENE_MGR_H
  3. /////////////////////////////////////////////////////////////////////////
  4. /// @file nvCFPDSceneMgr.h
  5. /// @brief 此文件提供探测器SDK 场景管理的接口函数,接口函数需要配合SDK的标准函数进行使用,不可独立使用
  6. /// @version V1.0.1.0
  7. /// @author Liliudan
  8. /// @date 2020-06-30
  9. /// @par Copyright (c): Sensview Technology 成都善思微科技有限公司
  10. /////////////////////////////////////////////////////////////////////////
  11. #ifdef NV_SCENEMGR_EXPORTS
  12. #define NV_SCENEMGR_API __declspec(dllexport)
  13. #else
  14. #define NV_SCENEMGR_API __declspec(dllimport)
  15. #endif
  16. #include "nvSceneMgrType.h"
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. /////////////////////////////////////////////////////////////////////////
  21. /// @brief 根据过滤条件枚举场景(包括缺省和自定义存储)
  22. /// @param [in] iClassify 分类类型,根据类型过滤场景,支持或操作
  23. /// @param [in out] hItems 返回的所有场景的头指针
  24. /// @param [in out] iCnt 返回的场景的总数
  25. /// @retval NV_StatusCodes 返回状态码,若成功则返回NV_SC_SUCCESS
  26. /// @note 该函数让用户获取所有的场景列表,当增加或删除后建议使用此函数更新场景列表
  27. /////////////////////////////////////////////////////////////////////////
  28. NV_SCENEMGR_API NV_StatusType NV_SCENEMGR_EnumAllScenes(int iClassify, const SCENE_ITEM ** hItems, int * iCnt);
  29. /////////////////////////////////////////////////////////////////////////
  30. /// @brief 加载场景
  31. /// @param [in out] iSceneID 场景对象ID
  32. /// @retval NV_StatusCodes 返回状态码,若成功则返回NV_SC_SUCCESS
  33. /// @note 该函数让用户加载一个指定的场景
  34. /////////////////////////////////////////////////////////////////////////
  35. NV_SCENEMGR_API NV_StatusType NV_SCENEMGR_LoadScene(NV_SCENE_ID iSceneID);
  36. /////////////////////////////////////////////////////////////////////////
  37. /// @brief 修改场景
  38. /// @param [in] iSceneID 场景对象ID
  39. /// @param [in] pItemsInfo 场景对象信息
  40. /// @retval NV_StatusCodes 返回状态码,若成功则返回NV_SC_SUCCESS
  41. /// @note 该函数让用户修改一个指定的场景,只能够修改自定义场景
  42. /////////////////////////////////////////////////////////////////////////
  43. NV_SCENEMGR_API NV_StatusType NV_SCENEMGR_ModifyScene(NV_SCENE_ID iSceneID, SCENE_ITEM * pItemsInfo);
  44. /////////////////////////////////////////////////////////////////////////
  45. /// @brief 删除场景
  46. /// @param [in out] iSceneID 场景对象ID
  47. /// @retval NV_StatusCodes 返回状态码,若成功则返回NV_SC_SUCCESS
  48. /// @note 该函数让用户删除一个指定的场景,只能够删除自定义场景
  49. /////////////////////////////////////////////////////////////////////////
  50. NV_SCENEMGR_API NV_StatusType NV_SCENEMGR_DeleteScene(NV_SCENE_ID iSceneID);
  51. /////////////////////////////////////////////////////////////////////////
  52. /// @brief 从已有场景中拷贝一个场景,并返回拷贝后的场景id和信息
  53. /// @param [in] iSrcSceneID 指定的场景ID
  54. /// @param [in] iObjSceneID 返回的拷贝后的场景ID
  55. /// @param [in] pItemsInfo 返回的拷贝后的场景对象信息
  56. /// @retval NV_StatusCodes 返回状态码,若成功则返回NV_SC_SUCCESS
  57. /// @note 该函数让用户加载一个指定的场景
  58. /////////////////////////////////////////////////////////////////////////
  59. NV_SCENEMGR_API NV_StatusType NV_SCENEMGR_CopyFromExistScene(NV_SCENE_ID iSrcSceneID, NV_SCENE_ID * iObjSceneID);
  60. /////////////////////////////////////////////////////////////////////////
  61. /// @brief 自定义信息保存一个场景,并返回场景ID
  62. /// @param [in out] iSceneID 返回的所有场景的头指针
  63. /// @retval NV_StatusCodes 返回状态码,若成功则返回NV_SC_SUCCESS
  64. /// @note 该函数让用户保存一个自定义的场景
  65. /////////////////////////////////////////////////////////////////////////
  66. NV_SCENEMGR_API NV_StatusType NV_SCENEMGR_SaveScene(SCENE_ITEM * pItemInfo, NV_SCENE_ID * iSceneID);
  67. #ifdef __cplusplus
  68. }
  69. #endif
  70. #endif //NV_SCENE_MGR_H