ORB SLA2
KeyFrameDatabase.h
1 
21 #ifndef KEYFRAMEDATABASE_H
22 #define KEYFRAMEDATABASE_H
23 
24 #include <vector>
25 #include <list>
26 #include <set>
27 
28 #include "KeyFrame.h"
29 #include "Frame.h"
30 #include "ORBVocabulary.h"
31 
32 #include<mutex>
33 
34 
35 namespace ORB_SLAM2
36 {
37 
38 class KeyFrame;
39 class Frame;
40 
41 
43 {
44 public:
45 
46  KeyFrameDatabase(const ORBVocabulary &voc);
47 
48  void add(KeyFrame* pKF);
49 
50  void erase(KeyFrame* pKF);
51 
52  void clear();
53 
54  // Loop Detection
55  std::vector<KeyFrame *> DetectLoopCandidates(KeyFrame* pKF, float minScore);
56 
57  // Relocalization
58  std::vector<KeyFrame*> DetectRelocalizationCandidates(Frame* F);
59 
60 protected:
61 
62  // Associated vocabulary
63  const ORBVocabulary* mpVoc;
64 
65  // Inverted file
66  std::vector<list<KeyFrame*> > mvInvertedFile;
67 
68  // Mutex
69  std::mutex mMutex;
70 };
71 
72 } //namespace ORB_SLAM
73 
74 #endif
Definition: KeyFrame.h:43
Definition: KeyFrameDatabase.h:42
Definition: Frame.h:43
Definition: Converter.cpp:24