branch: master commit 29539bc33c527893aaf820f582466d1819b62103 Author: Konstantinos Poulios <logar...@gmail.com> Date: Thu Oct 24 14:31:49 2019 +0200
Deep copy of mesh regions when copying a mesh --- src/getfem_mesh.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/getfem_mesh.cc b/src/getfem_mesh.cc index 13ea483..8f86983 100644 --- a/src/getfem_mesh.cc +++ b/src/getfem_mesh.cc @@ -488,11 +488,12 @@ namespace getfem { clear(); set_name(m.name_); bgeot::basic_mesh::operator=(m); - cvf_sets = m.cvf_sets; + for (const auto &kv : m.cvf_sets) { + if (kv.second.get_parent_mesh() != 0) + cvf_sets[kv.first].set_parent_mesh(this); + cvf_sets[kv.first] = kv.second; + } valid_cvf_sets = m.valid_cvf_sets; - for (std::map<size_type, mesh_region>::iterator it = cvf_sets.begin(); - it != cvf_sets.end(); ++it) - if (it->second.get_parent_mesh() != 0) it->second.set_parent_mesh(this); cvs_v_num.clear(); gmm::uint64_type d = act_counter(); for (dal::bv_visitor i(convex_index()); !i.finished(); ++i)