21 std::vector<MeshLib::Node*>
const& node_vector,
22 std::vector<MeshLib::Node*>
const& tool_node_vector,
24 bool const return_non_paired_nodes)
26 auto oct_tree = std::unique_ptr<GeoLib::OctTree<MeshLib::Node, 16>>(
31 for (
auto const node : tool_node_vector)
34 oct_tree->addPoint(node, node_ptr);
38 std::vector<MeshLib::Node*> paired_nodes;
39 std::vector<MeshLib::Node*> other_nodes;
40 std::vector<std::size_t> ip_mapping;
41 for (
auto node : node_vector)
44 if (oct_tree->addPoint(node, node_ptr))
46 if (return_non_paired_nodes)
48 other_nodes.push_back(node);
52 paired_nodes.push_back(node);
53 ip_mapping.push_back(node_ptr->
getID());
56 if (return_non_paired_nodes)
58 return {paired_nodes, ip_mapping, other_nodes};
61 return {paired_nodes, std::nullopt, std::nullopt};