41 class KeyFrameDatabase;
49 typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>,
50 Eigen::aligned_allocator<std::pair<KeyFrame* const, g2o::Sim3> > >
KeyFrameAndPose;
83 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
151 #endif // LOOPCLOSING_H
map< KeyFrame *, g2o::Sim3, std::less< KeyFrame * >, Eigen::aligned_allocator< std::pair< KeyFrame *const, g2o::Sim3 > > > KeyFrameAndPose
std::vector< KeyFrame * > mvpCurrentConnectedKFs
LoopClosing(Map *pMap, KeyFrameDatabase *pDB, ORBVocabulary *pVoc, const bool bFixScale)
void InsertKeyFrame(KeyFrame *pKF)
float mnCovisibilityConsistencyTh
ORBVocabulary * mpORBVocabulary
LocalMapping * mpLocalMapper
void SearchAndFuse(const KeyFrameAndPose &CorrectedPosesMap)
void SetLocalMapper(LocalMapping *pLocalMapper)
KeyFrameDatabase * mpKeyFrameDB
long unsigned int mLastLoopKFid
pair< set< KeyFrame * >, int > ConsistentGroup
std::vector< KeyFrame * > mvpEnoughConsistentCandidates
void SetTracker(Tracking *pTracker)
void RunGlobalBundleAdjustment(unsigned long nLoopKF)
std::list< KeyFrame * > mlpLoopKeyFrameQueue
std::mutex mMutexLoopQueue
std::vector< MapPoint * > mvpLoopMapPoints
std::thread * mpThreadGBA
std::vector< MapPoint * > mvpCurrentMatchedPoints
std::vector< ConsistentGroup > mvConsistentGroups