| 32 | } |
| 33 | |
| 34 | void GlobalMap::addLandmark(const Eigen::Vector3d& global_pos, |
| 35 | uint64_t landmark_id, |
| 36 | double quality, |
| 37 | uint64_t keyframe_id, |
| 38 | const Eigen::Vector3d& local_pos, |
| 39 | const Eigen::Vector3d& color) { |
| 40 | if (!map_points_.count(landmark_id)) { // If the point is not in the map, add it. |
| 41 | Landmark point_landmark = Landmark(landmark_id, global_pos, quality, color); |
| 42 | point_landmark.updateObservation(keyframe_id, local_pos, quality, color); |
| 43 | map_points_.insert(std::make_pair(landmark_id, point_landmark)); |
| 44 | } else { |
| 45 | Landmark& point_landmark = map_points_.at(landmark_id); |
| 46 | point_landmark.color_ = color; |
| 47 | point_landmark.point_ = global_pos; |
| 48 | point_landmark.quality_ = quality; |
| 49 | point_landmark.updateObservation(keyframe_id, local_pos, quality, color); |
| 50 | } |
| 51 | } |
| 52 | |
| 53 | void GlobalMap::updateLandmark(uint64_t landmark_id, |
| 54 | const Eigen::Vector3d& global_pos, |
no test coverage detected