depth_guide_v2.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #ifndef DEPTHGUIDE_DEPTH_GUIDE_V2_H
  2. #define DEPTHGUIDE_DEPTH_GUIDE_V2_H
  3. #include "core/object_manager.h"
  4. #include "device/orb_camera_ui.h"
  5. #include "module_v3/registration.h"
  6. #include "module/augment_manager_v2.h"
  7. #include "module/camera_augment_helper_v2.h"
  8. #include "module/guidance/cursor_guide.h"
  9. #include "module/image_augment_helper.h"
  10. #include "module/image_streamer.h"
  11. #include "impl/app_base.h"
  12. #include <boost/asio/io_context.hpp>
  13. class app_depth_guide_v2 : public app_base {
  14. public:
  15. explicit app_depth_guide_v2(const create_config &conf);
  16. ~app_depth_guide_v2() override;
  17. const char *window_name() override { return "DepthGuide V2.-1"; }
  18. void show_ui() override;
  19. void render_background() override;
  20. private:
  21. void start_tracking();
  22. enum obj_names : object_manager::name_type {
  23. // images from device
  24. img_color, img_depth, img_remap,
  25. // point cloud from device
  26. pc_raw,
  27. // output scene
  28. scene_out,
  29. // output image
  30. img_out_left, img_out_right,
  31. img_out,
  32. name_end,
  33. };
  34. create_config main_conf;
  35. obj_name_type extra_name = name_end;
  36. // sophiar
  37. std::unique_ptr<sophiar_conn_type> sophiar_conn;
  38. std::unique_ptr<std::thread> sophiar_thread;
  39. std::string sophiar_start_var;
  40. // modules
  41. std::unique_ptr<orb_camera_ui> orb_cam;
  42. std::unique_ptr<image_streamer> out_streamer;
  43. std::unique_ptr<augment_manager_v2> aug_manager;
  44. std::unique_ptr<camera_augment_helper_v2> aug_helper;
  45. std::unique_ptr<cursor_guide> aug_guide;
  46. static constexpr auto baseline_dis = 65.0f; // mm
  47. std::unique_ptr<camera_augment_helper_v2> aug_left;
  48. std::unique_ptr<camera_augment_helper_v2> aug_right;
  49. std::unique_ptr<stereo_augment_helper> aug_stereo;
  50. bool enable_reg = false;
  51. std::unique_ptr<registration> reg;
  52. };
  53. #endif //DEPTHGUIDE_DEPTH_GUIDE_V2_H