#ifndef DEPTHGUIDE_DEPTH_GUIDE_V2_H #define DEPTHGUIDE_DEPTH_GUIDE_V2_H #include "core/object_manager.h" #include "device/orb_camera_ui.h" #include "module_v3/registration.h" #include "module/augment_manager_v2.h" #include "module/camera_augment_helper_v2.h" #include "module/guidance/cursor_guide.h" #include "module/image_augment_helper.h" #include "module/image_streamer.h" #include "impl/app_base.h" #include class app_depth_guide_v2 : public app_base { public: explicit app_depth_guide_v2(const create_config &conf); ~app_depth_guide_v2() override; const char *window_name() override { return "DepthGuide V2.-1"; } void show_ui() override; void render_background() override; private: void start_tracking(); enum obj_names : object_manager::name_type { // images from device img_color, img_depth, img_remap, // point cloud from device pc_raw, // output scene scene_out, // output image img_out_left, img_out_right, img_out, name_end, }; create_config main_conf; obj_name_type extra_name = name_end; // sophiar std::unique_ptr sophiar_conn; std::unique_ptr sophiar_thread; std::string sophiar_start_var; // modules std::unique_ptr orb_cam; std::unique_ptr out_streamer; std::unique_ptr aug_manager; std::unique_ptr aug_helper; std::unique_ptr aug_guide; static constexpr auto baseline_dis = 65.0f; // mm std::unique_ptr aug_left; std::unique_ptr aug_right; std::unique_ptr aug_stereo; bool enable_reg = false; std::unique_ptr reg; }; #endif //DEPTHGUIDE_DEPTH_GUIDE_V2_H