From 613b70396502de2e94e8d0b713634193988ce862 Mon Sep 17 00:00:00 2001 From: toshinagata1964 Date: Mon, 16 Jan 2012 10:43:56 +0000 Subject: [PATCH] AtomRef#molecule is implemented. git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/molby/trunk@172 a2be9bc6-48de-4e38-9406-05402d4bc13c --- MolLib/Ruby_bind/ruby_bind.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/MolLib/Ruby_bind/ruby_bind.c b/MolLib/Ruby_bind/ruby_bind.c index 4d1f569..97b710c 100644 --- a/MolLib/Ruby_bind/ruby_bind.c +++ b/MolLib/Ruby_bind/ruby_bind.c @@ -3250,6 +3250,14 @@ ValueFromMoleculeAndIndex(Molecule *mol, int idx) return Data_Wrap_Struct(rb_cAtomRef, 0, (void (*)(void *))AtomRefRelease, aref); } +static VALUE +s_AtomRef_GetMolecule(VALUE self) +{ + Molecule *mpp; + s_AtomIndexFromValue(self, NULL, &mpp); + return ValueFromMolecule(mpp); +} + static VALUE s_AtomRef_GetIndex(VALUE self) { return INT2NUM(s_AtomIndexFromValue(self, NULL, NULL)); } @@ -8542,6 +8550,7 @@ Init_Molby(void) rb_define_alias(rb_cAtomRef, "get_attr", "[]"); s_SetAtomAttrString = rb_str_new2("set_atom_attr"); rb_global_variable(&s_SetAtomAttrString); + rb_define_method(rb_cAtomRef, "molecule", s_AtomRef_GetMolecule, 0); /* class Parameter */ rb_cParameter = rb_define_class_under(rb_mMolby, "Parameter", rb_cObject); -- 2.11.0