DVSenseDriver  1.0.1
The SDK for dvsense products.
DvsFileReader.h
1 #ifndef DVS_FILE_READER_H
2 #define DVS_FILE_READER_H
3 
4 #ifdef _WIN32
5 #define DVSENSE_API __declspec(dllexport)
6 #else
7 #define DVSENSE_API
8 #endif // _WIN32
9 
10 #include <memory>
11 #include "DvsenseHal/camera/DvsCameraUtils.hpp"
12 #include "DvsenseBase/EventBase/EventTypes.hpp"
13 #include "DvsenseBase/Utils/TypeUtils.hpp"
14 
15 namespace dvsense
16 {
20  class DVSENSE_API DvsFileReader
21  {
22  public:
27 
31  virtual ~DvsFileReader() { };
32 
40  static std::unique_ptr<DvsFileReader> createFileReader(std::string filepath);
41 
51  virtual bool loadFile() = 0;
52 
62  virtual bool getStartTimeStamp(TimeStamp& start_timestamp) = 0;
63 
73  virtual bool getEndTimeStamp(TimeStamp& end_timestamp) = 0;
74 
82  virtual bool seekTime(TimeStamp t) = 0;
83 
94 
100  virtual uint64_t getCurrentPosEventNum() = 0;
101 
111  virtual std::shared_ptr<Event2DVector> getNEvents(uint64_t n) = 0;
112 
124  virtual std::shared_ptr<Event2DVector> getNEvents(TimeStamp start, uint64_t n) = 0;
125 
137  virtual std::shared_ptr<Event2DVector> getNTimeEvents(TimeStamp start, TimeStamp interval) = 0;
138 
148  virtual std::shared_ptr<std::vector<Event2D>> getNTimeEvents(TimeStamp interval) = 0;
149 
156  virtual uint16_t getWidth() const = 0;
157 
164  virtual uint16_t getHeight() const = 0;
165  };
166 
171  typedef DVSENSE_API std::unique_ptr<DvsFileReader> DvsFile;
172 
173 } // namespace dvsense
174 
175 #endif //DVS_FILE_READER_H
DVS 文件读取器类
Definition: DvsFileReader.h:21
virtual std::shared_ptr< std::vector< Event2D > > getNTimeEvents(TimeStamp interval)=0
从当前位置检索特定时间间隔内的事件。
virtual bool loadFile()=0
加载RAW文件以处理事件。
virtual ~DvsFileReader()
虚析构函数
Definition: DvsFileReader.h:31
virtual std::shared_ptr< Event2DVector > getNEvents(uint64_t n)=0
从当前位置检索指定数量的事件。
virtual TimeStamp getCurrentPosTimeStamp()=0
获取当前文件解码位置的时间戳。
virtual bool seekTime(TimeStamp t)=0
寻找文件中的特定时间戳。
virtual std::shared_ptr< Event2DVector > getNEvents(TimeStamp start, uint64_t n)=0
从给定的时间戳开始检索指定数量的事件。
virtual bool getEndTimeStamp(TimeStamp &end_timestamp)=0
获取文件中时间戳的结束位置。
virtual bool getStartTimeStamp(TimeStamp &start_timestamp)=0
获取文件中时间戳的起始位置。
virtual uint64_t getCurrentPosEventNum()=0
获取从文件开头到当前文件解码位置的事件数量。
virtual std::shared_ptr< Event2DVector > getNTimeEvents(TimeStamp start, TimeStamp interval)=0
从当前位置检索特定时间间隔内的事件。
static std::unique_ptr< DvsFileReader > createFileReader(std::string filepath)
创建一个文件读取器对象
virtual uint16_t getWidth() const =0
获取用于捕获事件的传感器的宽度
virtual uint16_t getHeight() const =0
获取用于捕获事件的传感器的高度
DvsFileReader()
默认构造函数
Definition: DvsFileReader.h:26
Definition: TypeUtils.hpp:7
DVSENSE_API std::unique_ptr< DvsFileReader > DvsFile
用于管理DVS文件读取器的unique_ptr
Definition: DvsFileReader.h:171
uint64_t TimeStamp
Definition: TypeUtils.hpp:8