67 source_info->m_source =
std::move(source);
74 group->push_back(source_info);
75 m_groups[source_info->m_group_id] = group;
78 auto sources =
m_tree.getPointsWithinRange({source_info->m_x, source_info->m_y},
m_max_range);
81 for (
auto& s : sources) {
83 if (matching_groups.
find(s->m_group_id) == matching_groups.
end() &&
85 matching_groups.
insert(s->m_group_id);
90 for (
auto group_id : matching_groups) {
96 group->insert(group->end(),
m_groups.at(group_id)->begin(),
m_groups.at(group_id)->end());
101 for (
auto& s : *group) {
102 s->m_group_id = source_info->m_group_id;