)
Map::AddKeyFrame() 逐行注释与详细原理说明函数整体作用Map::AddKeyFrame(KeyFrame *pKF)是 ORB-SLAM3 中Map类的成员函数,用于将一个新的关键帧插入到地图的关键帧集合中,并同时维护与关键帧 ID 相关的元数据(如初始关键帧、最大 ID、最小 ID)。该函数由Atlas::AddKeyFrame调用,或直接被其他模块调用(如局部建图线程)。函数内部使用互斥锁mMutexMap保护关键帧集合,确保多线程环境下的数据一致性。主要操作包括:如果这是地图中的第一个关键帧,记录其 ID 作为地图的初始关键帧 ID,并保存初始关键帧指针。将关键帧插入mspKeyFrames集合。更新地图中的最大关键帧 ID(mnMaxKFid)。更新地图中的最小关键帧 ID 对应的关键帧指针(mpKFlowerID,表示具有最小ID 的关键帧)。这些元数据在地图管理、多地图合并、轨迹记录和优化中具有重要作用。一、逐行