From 273def3ed05bb8cf30171b42d8eea3ba139769e6 Mon Sep 17 00:00:00 2001
From: Gabriel Studer <gabriel.studer@unibas.ch>
Date: Wed, 12 Jun 2019 12:02:15 +0200
Subject: [PATCH] export GetAltAtomGroupNames function for ResidueHandle

---
 modules/mol/base/pymod/export_residue.cc | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/modules/mol/base/pymod/export_residue.cc b/modules/mol/base/pymod/export_residue.cc
index d0915dcd7..fad1a74bd 100644
--- a/modules/mol/base/pymod/export_residue.cc
+++ b/modules/mol/base/pymod/export_residue.cc
@@ -37,6 +37,16 @@ namespace {
     return String(1, char(s));
   }
 
+  boost::python::list get_alt_group_names(const ost::mol::ResidueHandle& res) {
+    std::vector<String>  v_alt_group_names = res.GetAltAtomGroupNames();
+    boost::python::list alt_group_names;
+    for(std::vector<String>::iterator it = v_alt_group_names.begin();
+        it != v_alt_group_names.end(); ++it) {
+      alt_group_names.append(*it);
+    }
+    return alt_group_names;
+  }
+
   typedef EntityView (ResidueHandle::*QueryMethod)(const Query&, uint) const;
   typedef EntityView (ResidueHandle::*StringMethod)(const String&, uint) const;
   QueryMethod select_query=&ResidueHandle::Select;
@@ -239,6 +249,7 @@ void export_Residue()
     .def("GetHandle", &ResidueHandle::GetHandle)
     .add_property("handle", &ResidueHandle::GetHandle)    
     .def("HasAltAtomGroup", &ResidueHandle::HasAltAtomGroup)
+    .def("GetAltAtomGroupNames", &get_alt_group_names)
     .def("GetCurrentAltGroupName", &ResidueHandle::GetCurrentAltGroupName,
          return_value_policy<copy_const_reference>())
     .def("SwitchAtomPos", &ResidueHandle::SwitchAtomPos)
-- 
GitLab