#ifndef REMOTE_AR_V2_H #define REMOTE_AR_V2_H #include "impl/app_base.h" #include "device/mvs_camera_ui.h" #include "device/uvc_camera_ui.h" #include "image_process_v5/image_augment.h" #include "image_process_v5/image_viewer.h" #include "image_process_v5/image_process.h" #include "image_process_v5/image_enhance.h" #include "image_process_v5/video_stabilization.h" #include "module/image_streamer.h" #include "module_v3/registration.h" #include "module_v5/versatile_saver.h" #include "module_v5/oblique_calibrator.h" #include "module/augment_manager_v2.h" #include "module/image_augment_helper_v2.h" #include "module/camera_augment_helper_v2.h" #include "module/sophiar_monitor.h" class app_remote_ar_v2 final : public app_base { public: explicit app_remote_ar_v2(create_config); ~app_remote_ar_v2() override; const char *window_name() override { return "RemoteAR V5.-1"; } void show_ui() override; void render_background() override; private: create_config main_conf; enum : obj_name_type { bg_img_id, left_img_id, left_fix_id, left_aug_id, left_stab_id, right_img_id, right_fix_id, right_aug_id, right_stab_id, output_img_id, uvc_img_id, }; obj_name_type extra_name = 100; std::optional mvs_cam; std::optional uvc_cam; std::optional video_stab; std::optional output_helper; std::optional bg_viewer; std::optional streamer; std::optional saver; // std::optional endo_calib; std::optional monitor; bool enable_reg = false; std::unique_ptr reg; std::optional aug_manager; struct { std::optional img_isp; std::optional aug_helper; } left_cam, right_cam; // osg::ref_ptr aug_scene; // std::optional left_aug; // std::optional right_aug; }; #endif //REMOTE_AR_V2_H