depth_guide_controller.h 777 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef DEPTHGUIDE_DEPTH_GUIDE_CONTROLLER_H
  2. #define DEPTHGUIDE_DEPTH_GUIDE_CONTROLLER_H
  3. #include "core/cuda_helper.hpp"
  4. #include "core/object_manager.h"
  5. #include <memory>
  6. class depth_guide_controller { // TODO: currently in passive mode
  7. public:
  8. struct create_config {
  9. obj_name_type img_in; // image_u8c3
  10. obj_name_type depth_in; // image_f32c1
  11. obj_name_type img_out = invalid_obj_name; // can be invalid
  12. };
  13. explicit depth_guide_controller(create_config conf);
  14. ~depth_guide_controller();
  15. struct render_config {
  16. smart_cuda_stream *stream = nullptr;
  17. };
  18. void render(render_config conf);
  19. void show();
  20. private:
  21. struct impl;
  22. std::unique_ptr<impl> pimpl;
  23. };
  24. #endif //DEPTHGUIDE_DEPTH_GUIDE_CONTROLLER_H