13 std::vector<MeshLib::Node*>
const& node_vector,
14 std::vector<MeshLib::Node*>
const& tool_node_vector,
16 bool const return_non_paired_nodes)
18 auto oct_tree = std::unique_ptr<GeoLib::OctTree<MeshLib::Node, 16>>(
23 for (
auto const node : tool_node_vector)
26 oct_tree->addPoint(node, node_ptr);
30 std::vector<MeshLib::Node*> paired_nodes;
31 std::vector<MeshLib::Node*> other_nodes;
32 std::vector<std::size_t> ip_mapping;
33 for (
auto node : node_vector)
36 if (oct_tree->addPoint(node, node_ptr))
38 if (return_non_paired_nodes)
40 other_nodes.push_back(node);
44 paired_nodes.push_back(node);
45 ip_mapping.push_back(node_ptr->
getID());
48 if (return_non_paired_nodes)
50 return {paired_nodes, ip_mapping, other_nodes};
53 return {paired_nodes, std::nullopt, std::nullopt};