一些容易混淆的概念和函数,列举如下
// 获取某个特征点的邻域中的特征点id
vector<size_t> KeyFrame::GetFeaturesInArea(const float &x, const float &y, const float &r);
// 将特征点反投影到空间中得到世界坐标系下三维点(在双目和RGBD情况下)
cv::Mat KeyFrame::UnprojectStereo(int i);
// 设置当前关键帧的位姿
void KeyFrame::SetPose(const cv::Mat &Tcw_);
//设置地图点在世界坐标系下的坐标
void MapPoint::SetWorldPos(const cv::Mat &Pos);
// 返回mvpMapPoints,获取当前关键帧的地图点
vector<MapPoint*> KeyFrame::GetMapPointMatches();
// 获取当前关键帧中的所有地图点
set<MapPoint*> KeyFrame::GetMapPoints();
//获取当前关键帧的具体的某个地图点
MapPoint* KeyFrame::GetMapPoint(const size_t &idx);
//获取当前地图点在某个关键帧的观测中,对应的特征点的ID
int MapPoint::GetIndexInKeyFrame(KeyFrame *pKF);
// 返回mObservations,能够观测到当前地图点的所有关键帧及该地图点在KF中的索引
map<KeyFrame*, size_t> MapPoint::GetObservations();
// 返回nObs,被观测到的相机数目,单目+1,双目或RGB-D则+2
int MapPoint::Observations();
// 获得关键帧中,大于等于最少观测数目minObs的MapPoints的数量
int KeyFrame::TrackedMapPoints(const int &minObs);
// 得到该关键帧与pKF的权重
int KeyFrame::GetWeight(KeyFrame *pKF);
//获取当前关键帧的子关键帧 mspChildrens
set<KeyFrame*> KeyFrame::GetChilds();
// 得到与该关键帧连接的权重超过w的关键帧
vector<KeyFrame*> KeyFrame::GetCovisiblesByWeight(const int &w);
// 得到与该关键帧连接的关键帧(已按权值排序) mvpOrderedConnectedKeyFrames
vector<KeyFrame*> KeyFrame::GetVectorCovisibleKeyFrames();
// 得到与该关键帧连接的前N个最强共视关键帧(已按权值排序) mvpOrderedConnectedKeyFrames的前N个
vector<KeyFrame*> KeyFrame::GetBestCovisibilityKeyFrames(const int &N);
// 得到与该关键帧连接(>15个共视地图点)的关键帧(没有排序的)
set<KeyFrame*> KeyFrame::GetConnectedKeyFrames();
// 为当前关键帧新建或更新和其他关键帧的连接权重
void KeyFrame::AddConnection(KeyFrame *pKF, const int &weight);
// 给地图点添加观测.记录哪些 KeyFrame 的那个特征点能观测到该地图点,并增加观测的相机数目nObs.
void MapPoint::AddObservation(KeyFrame* pKF, size_t idx);
// 按照权重从大到小对连接(共视)的关键帧进行排序,按mConnectedKeyFrameWeights排序
void KeyFrame::UpdateBestCovisibles();
// 更新关键帧之间的连接图
void KeyFrame::UpdateConnections();