ORB-SLAM2的代码命名非常规范,有很多规则,下面进行将解,方便后续更好地读代码
1. 以小写m(member的首字母)开头的变量代表类的成员变量,比如
int mSensor;
int mTrackingState
std::mutex mMutexMode;
2. mp开头表示指针(pointer)成员变量
Tracking* mpTracker
LocalMapping* mpLocalMapper
LoopClosing* mpLoopCloser
viewer* mpVIewer
3.mb开头变量表示布尔(bool)成员变量
bool mbOnlyTracking
4. mv开头表示向量(vector)型类成员变量
std::vector<int> mvInilastMatches
std::vector<cv::Point3f> mvInip3D
5. mpt开头变量表示指针(pointer)型类成员变量,并且它是一个线程(thread)
std::thread* mptLocalMapping;
std::thread* mptLoopClosing
6.ml开头变量表示列表(list)型类成员变量
mlp开头表示列表(list)型类成员变量,元素类型为指针
mlb开头变量表示列表(list)型类成员变量,并且它的元素类型是布尔(bool)
list<double> mlFrameTimes
list<bool> mlbLost
list<cv::Mat> mlRelativeFramePoses
list<KeyFrame*> mlpReferences