diff --git a/network_process/include/post_topo/filter_polygon_faces.hpp b/network_process/include/post_topo/filter_polygon_faces.hpp index fb76e4e..f6a73ad 100644 --- a/network_process/include/post_topo/filter_polygon_faces.hpp +++ b/network_process/include/post_topo/filter_polygon_faces.hpp @@ -13,4 +13,6 @@ dynamic_bitset_mp<> filter_polygon_faces(const stl_vector_mp& stl_vector_mp& output_polygon_faces, stl_vector_mp& output_vertex_counts_of_face); -void filter_active_vertices(stl_vector_mp& vertices, stl_vector_mp& output_polygon_faces); \ No newline at end of file +void filter_active_vertices(stl_vector_mp& iso_pts, + stl_vector_mp& vertices, + stl_vector_mp& output_polygon_faces); \ No newline at end of file diff --git a/network_process/src/post_topo/filter_polygon_faces.cpp b/network_process/src/post_topo/filter_polygon_faces.cpp index 1e2c020..b84950e 100644 --- a/network_process/src/post_topo/filter_polygon_faces.cpp +++ b/network_process/src/post_topo/filter_polygon_faces.cpp @@ -82,10 +82,12 @@ dynamic_bitset_mp<> filter_polygon_faces(const stl_vector_mp& return active_face_label; } -void filter_active_vertices(stl_vector_mp& vertices, stl_vector_mp& output_polygon_faces) +void filter_active_vertices(stl_vector_mp& iso_pts, + stl_vector_mp& output_vertices, + stl_vector_mp& output_polygon_faces) { stl_vector_mp unique_vertex_indices{}; - dynamic_bitset_mp<> vertex_visited(vertices.size(), false); + dynamic_bitset_mp<> vertex_visited(iso_pts.size(), false); for (const auto& vertex_index : output_polygon_faces) { if (!vertex_visited[vertex_index]) { unique_vertex_indices.emplace_back(vertex_index); @@ -102,6 +104,6 @@ void filter_active_vertices(stl_vector_mp& vertices, stl_vector stl_vector_mp unique_vertices{}; unique_vertices.reserve(unique_vertex_indices.size()); - for (const auto& vertex_index : unique_vertex_indices) { unique_vertices.emplace_back(vertices[vertex_index]); } - std::swap(vertices, unique_vertices); + for (const auto& vertex_index : unique_vertex_indices) { unique_vertices.emplace_back(iso_pts[vertex_index]); } + std::swap(output_vertices, unique_vertices); } \ No newline at end of file