From b737cda15dcaa943774e32c308df3c6b7cad486e Mon Sep 17 00:00:00 2001
From: Niklaus Johner <nij2003@med.cornell.edu>
Date: Wed, 11 Apr 2012 12:29:57 -0400
Subject: [PATCH] Added a function to get a CoordFrame from a CoordGroup:
 CoordFrame CoordGroup::GetFrame2 And an export to python

---
 modules/mol/base/pymod/export_coord_group.cc | 1 +
 modules/mol/base/src/coord_group.cc          | 8 +++++++-
 modules/mol/base/src/coord_group.hh          | 1 +
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/modules/mol/base/pymod/export_coord_group.cc b/modules/mol/base/pymod/export_coord_group.cc
index 4ada5f884..6bdeb1d69 100644
--- a/modules/mol/base/pymod/export_coord_group.cc
+++ b/modules/mol/base/pymod/export_coord_group.cc
@@ -48,6 +48,7 @@ void export_CoordGroup()
     .def("IsValid",&CoordGroupHandle::IsValid)
     .def("GetEntity",&CoordGroupHandle::GetEntity)
     .def("GetAtomCount",&CoordGroupHandle::GetAtomCount)
+    .def("GetFrame",&CoordGroupHandle::GetFrame2)
     .def("AddFrames", &CoordGroupHandle::AddFrames)
     .def("AddFrame", add_frame1)
     .def("AddFrame", add_frame2)
diff --git a/modules/mol/base/src/coord_group.cc b/modules/mol/base/src/coord_group.cc
index 949199240..db3fd341c 100644
--- a/modules/mol/base/src/coord_group.cc
+++ b/modules/mol/base/src/coord_group.cc
@@ -152,7 +152,13 @@ CoordFramePtr CoordGroupHandle::GetFrame(uint frame) const
   this->CheckValidity();
   return source_->GetFrame(frame);
 }
-  
+
+CoordFrame CoordGroupHandle::GetFrame2(uint frame)
+{
+  this->CheckValidity();
+  return *(source_->GetFrame(frame));
+}
+
 AtomHandleList CoordGroupHandle::GetAtomList() const
 {
   this->CheckValidity();
diff --git a/modules/mol/base/src/coord_group.hh b/modules/mol/base/src/coord_group.hh
index 8aa907f4f..652fe3463 100644
--- a/modules/mol/base/src/coord_group.hh
+++ b/modules/mol/base/src/coord_group.hh
@@ -86,6 +86,7 @@ public:
   
   AtomHandleList GetAtomList() const;
   CoordFramePtr GetFrame(uint frame) const;
+  CoordFrame GetFrame2(uint frame);
   
   /// \brief return a filtered coord group, containing only the atoms in the 
   ///     view
-- 
GitLab