ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
AzureKinectRecorder.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <atomic>
11 #include <memory>
12 #include <string>
13 
14 #include "io/sensor/RGBDRecorder.h"
17 
18 struct _k4a_record_t; // typedef _k4a_record_t* k4a_record_t;
19 
20 namespace cloudViewer {
21 
22 namespace geometry {
23 class RGBDImage;
24 class Image;
25 } // namespace geometry
26 
27 namespace io {
28 
33 public:
34  AzureKinectRecorder(const AzureKinectSensorConfig& sensor_config,
35  size_t sensor_index);
36  ~AzureKinectRecorder() override;
37 
39  bool InitSensor() override;
43  bool OpenRecord(const std::string& filename) override;
45  bool CloseRecord() override;
51  std::shared_ptr<geometry::RGBDImage> RecordFrame(
52  bool write, bool enable_align_depth_to_color) override;
53 
56 
57 protected:
59  _k4a_record_t* recording_;
60  size_t device_index_;
61 
62  bool is_record_created_ = false;
63 };
64 
65 } // namespace io
66 } // namespace cloudViewer
std::string filename
bool IsRecordCreated()
Check if the mkv file is created.
bool InitSensor() override
Initialize sensor.
bool OpenRecord(const std::string &filename) override
bool CloseRecord() override
Close the recorded mkv file.
AzureKinectRecorder(const AzureKinectSensorConfig &sensor_config, size_t sensor_index)
std::shared_ptr< geometry::RGBDImage > RecordFrame(bool write, bool enable_align_depth_to_color) override
Generic file read and write utility for python interface.