The code naming of ORB-SLAM2 is very standardized, and there are many rules. We will explain them below to facilitate better reading of the code in the future.
1. Variables starting with lowercase m (the first letter of member) represent the member variables of the class, such as
int mSensor;
int mTrackingState
std::mutex mMutexMode;
2. The beginning of mp indicates pointer member variable
Tracking* mpTracker
LocalMapping* mpLocalMapper
LoopClosing* mpLoopCloser
viewer* mpVIewer
3.Variables starting with mb represent Boolean (bool) member variables
bool mbOnlyTracking
4. The beginning of mv indicates vector class member variables
std::vector<int> mvInilastMatches
std::vector<cv::Point3f> mvInip3D
5. The variable starting with mpt represents a pointer type member variable, and it is a thread.
std::thread* mptLocalMapping;
std::thread* mptLoopClosing
6.Variables starting with ml represent list class member variables
The beginning of mlp indicates a list type member variable, and the element type is a pointer.
The variable starting with mlb represents a list type member variable, and its element type is Boolean (bool)
list<double> mlFrameTimes
list<bool> mlbLost
list<cv::Mat> mlRelativeFramePoses
list<KeyFrame*> mlpReferences