OrbbecSDK2 2.0.2
OrbbecSDK2: New generation Software-Development-Kit for Orbbec 3D-Sensor devices
载入中...
搜索中...
未找到
OB2Record.hpp
浏览该文件的文档.
1#pragma once
2
3#include "OB2Types.hpp"
4#include "OB2Device.hpp"
5#include <string>
6
7extern "C" {
8#include "h/ob2record.h"
9}
10
11namespace ob2 {
12
28class record {
29public:
52 record(const std::string file_path) {
53 ob2_status_t status;
54 m_record_handle = ob2_record_create(file_path.c_str(), &status);
56 }
57
79 rc.m_record_handle = nullptr;
80 }
81
98 virtual ~record() noexcept {
99 ob2_status_t status;
100 if(m_record_handle != nullptr) {
102 }
103 }
104
130 virtual void flush(int32_t timeout_msec) {
131 ob2_status_t status;
132 ob2_record_flush(m_record_handle, timeout_msec, &status);
134 }
135
151 virtual void write_device_info(const ob2_device_info_t &device_info) {
152 ob2_status_t status;
153 ob2_record_write_device_info(m_record_handle, &device_info, &status);
155 }
156
172 virtual void write_cameras_calibration(const ob2_cameras_calibration_t &calibration) {
173 ob2_status_t status;
176 }
177
197 virtual void write_capture(const std::shared_ptr<capture> capture) {
198 ob2_status_t status;
201 }
202
218 virtual void write_imu_sample(const std::shared_ptr<imu_sample> imu_sample) {
219 ob2_status_t status;
222 }
223
224protected:
226};
227} // namespace ob2
#define CHECK_OB2_STATUS_ERROR_THROW(status)
用于将 C API 中的 ob2_status_t 转换成异常抛出
Definition: OB2Types.hpp:22
#define VALIDATE_NOT_NULL(ARG)
用户参数非空校验
Definition: OB2Types.hpp:45
相机 capture,capture 是图像对象的载体,一个 capture 通常会包含一个或多个不同类型相机的一帧图像
Definition: OB2Camera.hpp:940
virtual ob2_capture_t get_handle()
获取 capture 句柄
Definition: OB2Camera.hpp:1271
IMU 采样, 是一个复合采样数据载体,包含每个已启用 Sensor 的一包采样数据
Definition: OB2IMU.hpp:236
virtual ob2_imu_sample_t get_handle()
获取 IMU 配置句柄
Definition: OB2IMU.hpp:429
录制器,用于相机图像、相机标定参数、IMU 采样、设备信息等录制
Definition: OB2Record.hpp:28
virtual ~record() noexcept
录制器析构函数
Definition: OB2Record.hpp:98
record(record &&rc)
通过其他录制器对象构造(移动构造,主要用于派生类的实现)
Definition: OB2Record.hpp:77
virtual void flush(int32_t timeout_msec)
冲洗录制器缓存数据
Definition: OB2Record.hpp:130
record(const std::string file_path)
录制器构造函数
Definition: OB2Record.hpp:52
virtual void write_cameras_calibration(const ob2_cameras_calibration_t &calibration)
写入相机标定参数
Definition: OB2Record.hpp:172
virtual void write_device_info(const ob2_device_info_t &device_info)
写入设备信息
Definition: OB2Record.hpp:151
ob2_record_t m_record_handle
Definition: OB2Record.hpp:225
virtual void write_imu_sample(const std::shared_ptr< imu_sample > imu_sample)
(未开放接口,请不要使用)
Definition: OB2Record.hpp:218
virtual void write_capture(const std::shared_ptr< capture > capture)
写入 capture
Definition: OB2Record.hpp:197
void ob2_record_write_imu_sample(ob2_record_t recording_handle, const ob2_imu_sample_t imu_sample_handle, ob2_status_t *status)
(未开放接口,请不要使用)
void ob2_record_write_device_info(ob2_record_t recording_handle, const ob2_device_info_t *device_info, ob2_status_t *status)
写入设备信息
void ob2_record_close(ob2_record_t recording_handle, ob2_status_t *status)
关闭录制器
void ob2_record_write_cameras_calibration(ob2_record_t recording_handle, const ob2_cameras_calibration_t *calibration, ob2_status_t *status)
写入相机标定参数
ob2_record_t ob2_record_create(const char *file_path, ob2_status_t *status)
创建录制器
void ob2_record_write_capture(ob2_record_t recording_handle, const ob2_capture_t capture_handle, ob2_status_t *status)
写入 capture
void ob2_record_flush(ob2_record_t recording_handle, int32_t timeout_msec, ob2_status_t *status)
冲洗录制器缓存数据
struct OB2RecordImpl * ob2_record_t
录制器句柄定义
Definition: ob2types.h:127
设备详细信息,需要先打开设备后获取
Definition: ob2types.h:436
用户函数调用返回的状态结构体
Definition: ob2types.h:312