ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
RGBDVideoReader.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 
13 
14 namespace cloudViewer {
15 namespace t {
16 namespace io {
17 
19 public:
21  virtual ~RGBDVideoReader() {}
22 
24  virtual bool IsOpened() const = 0;
25 
27  virtual bool IsEOF() const = 0;
28 
32  virtual bool Open(const std::string &filename) = 0;
33 
35  virtual void Close() = 0;
36 
39 
41  virtual const RGBDVideoMetadata &GetMetadata() const = 0;
42 
44  virtual bool SeekTimestamp(uint64_t timestamp) = 0;
45 
47  virtual uint64_t GetTimestamp() const = 0;
48 
51 
57  //
59  //
62  virtual void SaveFrames(const std::string &frame_path,
63  uint64_t start_time_us = 0,
64  uint64_t end_time_us = UINT64_MAX);
65 
67  virtual std::string GetFilename() const = 0;
68 
70  virtual std::string ToString() const;
71 
73  static std::unique_ptr<RGBDVideoReader> Create(const std::string &filename);
74 };
75 
76 } // namespace io
77 } // namespace t
78 } // namespace cloudViewer
std::string filename
RGBDImage A pair of color and depth images.
Definition: RGBDImage.h:21
static std::unique_ptr< RGBDVideoReader > Create(const std::string &filename)
Factory function to create object based on RGBD video file type.
virtual RGBDVideoMetadata & GetMetadata()=0
Get reference to the metadata of the RGBD video playback.
virtual bool IsEOF() const =0
Check if the RGBD video file is all read.
virtual void SaveFrames(const std::string &frame_path, uint64_t start_time_us=0, uint64_t end_time_us=UINT64_MAX)
virtual bool Open(const std::string &filename)=0
virtual const RGBDVideoMetadata & GetMetadata() const =0
Get metadata of the RGBD video playback.
virtual void Close()=0
Close the opened RGBD video playback.
virtual bool SeekTimestamp(uint64_t timestamp)=0
Seek to the timestamp (in us).
virtual t::geometry::RGBDImage NextFrame()=0
Get next frame from the RGBD video playback and returns the RGBD object.
virtual std::string ToString() const
Text description.
virtual uint64_t GetTimestamp() const =0
Get current timestamp (in us).
virtual bool IsOpened() const =0
Check If the RGBD video file is opened.
virtual std::string GetFilename() const =0
Return filename being read.
Generic file read and write utility for python interface.