该函数是TrackLocalMap()中UpdateLocalMap()的第二步:在UpdateLocalKeyFrames()选出局部关键帧集合之后,收集这些关键帧观测到的地图点,构成局部地图点集合,供后续SearchLocalPoints()投影搜索和位姿优化使用。
但实际实现中需要:
跳过空指针;
跳过坏点;
去重,避免同一地图点被多个关键帧重复加入;
给加入的地图点打上本帧标记,供后续流程识别。
UpdateLocalPoints()正是完成这一收集过程。
void Tracking::UpdateLocalPoints() { mvpLocalMapPoints.clear(); // 清空上一帧留下的局部地图点列表。 // mvpLocalMapPoints 是 Tracking 的成员,类型为 vector<MapPoint*>。 // 每次 Tr