Browse Source

fix: streamline shell_to_cell assignment by removing redundant resizing and processing

test-three-planes-intersection
mckay 1 month 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());
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 {
{
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);
}
}
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
{
dynamic_bitset_mp<> active_cell_label{};

Loading…
Cancel
Save