pc_decoder.h 576 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef DEPTHGUIDE_PC_DECODER_H
  2. #define DEPTHGUIDE_PC_DECODER_H
  3. #include "core/pc_utility.h"
  4. #include "network/binary_utility.hpp"
  5. #include <memory>
  6. class pc_decoder {
  7. public:
  8. struct create_config {
  9. smart_cuda_stream *stream = nullptr;
  10. };
  11. explicit pc_decoder(const create_config &conf);
  12. ~pc_decoder();
  13. using cb_func_type = std::function<void(pc_ptr)>;
  14. cb_func_type cb_func;
  15. void decode(const data_type &data, const cb_func_type &cb);
  16. private:
  17. struct impl;
  18. std::unique_ptr<impl> pimpl;
  19. };
  20. #endif //DEPTHGUIDE_PC_DECODER_H