From 60ee6bb60b11bbfbccf56f335c9c6213e6daa79d Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Thu, 5 Dec 2002 05:36:32 +0000 Subject: "" svn path=/trunk/; revision=278 --- externals/grill/vasp/source/obj_part.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'externals/grill/vasp/source/obj_part.cpp') diff --git a/externals/grill/vasp/source/obj_part.cpp b/externals/grill/vasp/source/obj_part.cpp index 2b0aa256..f1ecf354 100644 --- a/externals/grill/vasp/source/obj_part.cpp +++ b/externals/grill/vasp/source/obj_part.cpp @@ -8,6 +8,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. */ +#include "main.h" #include "classes.h" #include "util.h" @@ -40,14 +41,14 @@ public: AddInAnything(2); AddOutAnything(2); - SetupInOut(); FLEXT_ADDMETHOD_(1,"list",m_part); + FLEXT_ADDATTR_VAR("parts",m_getpart,m_setpart); } ~vasp_part() { if(part) delete[] part; } - V m_part(I argc,t_atom *argv) + V m_part(I argc,const t_atom *argv) { if(part) delete[] part; parts = 0; part = new I[argc]; @@ -62,6 +63,14 @@ public: } } + V m_getpart(AtomList &ret) + { + ret(parts); + for(I i = 0; i < parts; ++i) SetInt(ret[i],part[i]); + } + + V m_setpart(const AtomList &ret) { m_part(ret.Count(),ret.Atoms()); } + virtual V m_bang() { if(!ref.Ok()) { @@ -95,6 +104,7 @@ protected: I parts,*part; FLEXT_CALLBACK_V(m_part) + FLEXT_CALLVAR_V(m_getpart,m_setpart); }; FLEXT_LIB_V("vasp, vasp.part",vasp_part) -- cgit v1.2.1