From da500025c3f87e85a9b76bdf80aeb4e2ada8d7d4 Mon Sep 17 00:00:00 2001 From: "Maarten L. Hekkelman" Date: Wed, 10 Sep 2025 17:16:22 +0200 Subject: [PATCH] swap atoms should swap type_symbol as well --- src/model.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/model.cpp b/src/model.cpp index 797990d..12d074e 100644 --- a/src/model.cpp +++ b/src/model.cpp @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -1898,13 +1899,12 @@ void structure::swap_atoms(atom a1, atom a2) auto r1 = atomSites.find1(key("id") == a1.id()); auto r2 = atomSites.find1(key("id") == a2.id()); - auto l1 = r1["label_atom_id"]; - auto l2 = r2["label_atom_id"]; - l1.swap(l2); - - auto l3 = r1["auth_atom_id"]; - auto l4 = r2["auth_atom_id"]; - l3.swap(l4); + for (std::string fld : std::initializer_list{ "label_atom_id", "auth_atom_id", "type_symbol" }) + { + auto l1 = r1[fld]; + auto l2 = r2[fld]; + l1.swap(l2); + } } catch (const std::exception &ex) {