Browse Source

fix: streamline shell_to_cell assignment by removing redundant resizing and processing

test-three-planes-intersection
mckay 2 months ago
parent
commit
1e98097723
  1. 8
      network_process/src/process.cpp

8
network_process/src/process.cpp

@ -106,6 +106,10 @@ ISNP_API void build_implicit_network_by_blobtree(const s_settings&
{ {
arrangement_cells.reserve(shells.size()); arrangement_cells.reserve(shells.size());
for (uint32_t i = 0; i < shells.size(); ++i) { arrangement_cells.emplace_back(stl_vector_mp<uint32_t>{i}); } for (uint32_t i = 0; i < shells.size(); ++i) { arrangement_cells.emplace_back(stl_vector_mp<uint32_t>{i}); }
shell_to_cell.resize(shells.size());
for (uint32_t i = 0; i < arrangement_cells.size(); i++) {
for (auto shell : arrangement_cells[i]) shell_to_cell[shell] = i;
}
} else { } else {
{ {
stl_vector_mp<std::pair<uint32_t, uint32_t>> shell_links{}; stl_vector_mp<std::pair<uint32_t, uint32_t>> shell_links{};
@ -125,10 +129,6 @@ ISNP_API void build_implicit_network_by_blobtree(const s_settings&
compute_arrangement_cells(static_cast<uint32_t>(shells.size()), shell_links, arrangement_cells); compute_arrangement_cells(static_cast<uint32_t>(shells.size()), shell_links, arrangement_cells);
} }
} }
shell_to_cell.resize(shells.size());
for (uint32_t i = 0; i < arrangement_cells.size(); i++) {
for (auto shell : arrangement_cells[i]) shell_to_cell[shell] = i;
}
// post process // post process
{ {
dynamic_bitset_mp<> active_cell_label{}; dynamic_bitset_mp<> active_cell_label{};

Loading…
Cancel
Save