NDEVR
API Documentation
Viewer.h
1
18
19#if NDEVR_DRAW_SLAM
20#ifndef VIEWER_H
21#define VIEWER_H
22
23
24
25#include <mutex>
26
27namespace NDEVR
28{
29
30class Tracking;
31class FrameDrawer;
32class MapDrawer;
33class OrbSLAM;
34class Settings;
35struct SLAMParameters;
41class Viewer
42{
43public:
51 Viewer(OrbSLAM* pSystem, FrameDrawer* pFrameDrawer, MapDrawer* pMapDrawer, Tracking *pTracking, const SLAMParameters& params);
52
53 // Main thread function. Draw points, keyframes, the current camera pose and the last processed
54 // frame. Drawing is refreshed according to the camera fps. We use Pangolin.
55 void Run();
56
57 void RequestFinish();
58
59 void RequestStop();
60
61 bool isFinished();
62
63 bool isStopped();
64
65 void Release();
66
67 //void SetTrackingPause();
68
69 bool both;
70private:
71 bool Stop();
72
73 OrbSLAM* mpSystem;
74 FrameDrawer* mpFrameDrawer;
75 MapDrawer* mpMapDrawer;
76 Tracking* mpTracker;
77
78 // 1/fps in ms
79 double mT;
80 float mImageWidth, mImageHeight;
81 float mImageViewerScale;
82
83 float mViewpointX, mViewpointY, mViewpointZ, mViewpointF;
84
85 bool CheckFinish();
86 void SetFinish();
87 bool mbFinishRequested;
88 bool mbFinished;
89 std::mutex mMutexFinish;
90
91 bool mbStopped;
92 bool mbStopRequested;
93 std::mutex mMutexStop;
94
95 bool mbStopTrack;
96
97};
98
99}
100
101
102#endif // VIEWER_H
103
104
105#endif
Main entry point for the ORB-SLAM3 system.
Definition System.h:37
Configuration parameters for the ORB-SLAM system.
Main tracking thread that processes each frame and estimates camera pose.
Definition Tracking.h:33
The primary namespace for the NDEVR SDK.