aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/vasp/source/obj_part.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2002-12-05 05:36:32 +0000
committerThomas Grill <xovo@users.sourceforge.net>2002-12-05 05:36:32 +0000
commit60ee6bb60b11bbfbccf56f335c9c6213e6daa79d (patch)
tree99b0c72c60aeba5d1a0489aae9edd16f371d965c /externals/grill/vasp/source/obj_part.cpp
parentbbd9d289d152f6ef085dec680f0b1611c29f0e32 (diff)
""
svn path=/trunk/; revision=278
Diffstat (limited to 'externals/grill/vasp/source/obj_part.cpp')
-rw-r--r--externals/grill/vasp/source/obj_part.cpp14
1 files changed, 12 insertions, 2 deletions
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)