Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
RealSenseSensor.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// Copyright (c) 2018-2024 www.open3d.org
5// SPDX-License-Identifier: MIT
6// ----------------------------------------------------------------------------
7
8#pragma once
9
10#include <string>
11
16
17namespace rs2 {
18class pipeline;
19class align;
20class config;
21} // namespace rs2
22
23namespace open3d {
24namespace t {
25namespace io {
26
29public:
33 static std::vector<RealSenseValidConfigs> EnumerateDevices();
37 static bool ListDevices();
38
43 virtual ~RealSenseSensor() override;
44
60 virtual bool InitSensor(const RealSenseSensorConfig &sensor_config =
62 size_t sensor_index = 0,
63 const std::string &filename = "");
64 virtual bool InitSensor(const RGBDSensorConfig &sensor_config,
65 size_t sensor_index = 0,
66 const std::string &filename = "") override {
67 return InitSensor(
68 dynamic_cast<const RealSenseSensorConfig &>(sensor_config),
69 sensor_index, filename);
70 }
71
74 virtual bool StartCapture(bool start_record = false) override;
75
80 virtual void PauseRecord() override;
81
84 virtual void ResumeRecord() override;
85
93 bool wait = true, bool align_depth_to_color = true) override;
94
100 virtual uint64_t GetTimestamp() const override { return timestamp_; }
101
103 virtual void StopCapture() override;
104
106 virtual const RGBDVideoMetadata &GetMetadata() const override {
107 return metadata_;
108 }
109
111 virtual std::string GetFilename() const override { return filename_; };
112
115
116private:
117 bool enable_recording_ = false;
118 bool is_recording_ = false;
119 bool is_capturing_ = false;
120 std::string filename_;
121 geometry::RGBDImage current_frame_;
122 uint64_t timestamp_ = 0;
123 RGBDVideoMetadata metadata_;
124 std::unique_ptr<rs2::pipeline> pipe_;
125 std::unique_ptr<rs2::align> align_to_color_;
126 std::unique_ptr<rs2::config> rs_config_;
127
128 static const uint64_t MILLISEC_TO_MICROSEC = 1000;
129};
130
131} // namespace io
132} // namespace t
133} // namespace open3d
double t
Definition SurfaceReconstructionPoisson.cpp:172
Definition RGBDSensorConfig.h:15
RGBDImage A pair of color and depth images.
Definition RGBDImage.h:21
Interface class for control of RGBD cameras.
Definition RGBDSensor.h:22
virtual const std::string ToString() const
Text Description.
Definition RGBDSensor.h:81
RGBD video metadata.
Definition RGBDVideoMetadata.h:26
Definition RealSenseSensorConfig.h:62
RealSense camera discovery, configuration, streaming and recording.
Definition RealSenseSensor.h:28
virtual void StopCapture() override
Stop capturing frames.
Definition RealSenseSensor.cpp:288
virtual void PauseRecord() override
Definition RealSenseSensor.cpp:227
virtual void ResumeRecord() override
Definition RealSenseSensor.cpp:234
RealSenseSensor()
Default constructor. Initialize with default settings.
Definition RealSenseSensor.cpp:115
RealSenseSensor & operator=(const RealSenseSensor &)=delete
virtual geometry::RGBDImage CaptureFrame(bool wait=true, bool align_depth_to_color=true) override
Definition RealSenseSensor.cpp:255
virtual ~RealSenseSensor() override
Definition RealSenseSensor.cpp:122
RealSenseSensor(const RealSenseSensor &)=delete
static std::vector< RealSenseValidConfigs > EnumerateDevices()
Definition RealSenseSensor.cpp:45
virtual const RGBDVideoMetadata & GetMetadata() const override
Get metadata of the RealSense video capture.
Definition RealSenseSensor.h:106
static bool ListDevices()
Definition RealSenseSensor.cpp:24
virtual bool StartCapture(bool start_record=false) override
Definition RealSenseSensor.cpp:197
virtual bool InitSensor(const RGBDSensorConfig &sensor_config, size_t sensor_index=0, const std::string &filename="") override
Definition RealSenseSensor.h:64
virtual uint64_t GetTimestamp() const override
Definition RealSenseSensor.h:100
virtual std::string GetFilename() const override
Get filename being written.
Definition RealSenseSensor.h:111
virtual bool InitSensor(const RealSenseSensorConfig &sensor_config=RealSenseSensorConfig{}, size_t sensor_index=0, const std::string &filename="")
Definition RealSenseSensor.cpp:124
Definition PinholeCameraIntrinsic.cpp:16
Definition RealSenseSensor.h:17