source: cpp/frams/model/modelobj.h @ 724

Last change on this file since 724 was 722, checked in by Maciej Komosinski, 6 years ago

Added source for Model VM object

File size: 996 bytes
Line 
1#ifndef _MODELOBJ_H_
2#define _MODELOBJ_H_
3
4#include "model.h"
5
6extern ParamEntry modelobj_paramtab[];
7
8class ModelObj : public Model
9{
10public:
11#define STATRICKCLASS ModelObj
12
13        PARAMGETDEF(geno);
14        PARAMPROCDEF(p_newfromstring);
15        PARAMPROCDEF(p_newfromgeno);
16
17#define GETDELEGATE(name,type,value) PARAMGETDEF(name) {arg1->set ## type (value);}
18        GETDELEGATE(numparts, Int, getPartCount())
19        GETDELEGATE(numjoints, Int, getJointCount())
20        GETDELEGATE(numneurons, Int, getNeuroCount())
21        GETDELEGATE(numconnections, Int, getConnectionCount())
22#undef GETDELEGATE
23
24        PARAMPROCDEF(p_getpart);
25        PARAMPROCDEF(p_getjoint);
26        PARAMPROCDEF(p_getneuro);
27        PARAMGETDEF(bboxsize);
28
29#undef STATRICKCLASS
30
31        static ExtObject makeStaticObject(Model* g);
32        static ExtObject makeDynamicObject(Model* g);
33        static Model* fromObject(const ExtValue& v, bool warn = true);
34        static ParamInterface* getInterface();
35        static Param& getStaticParam();
36        static Param& getDynamicParam();
37};
38
39#endif
Note: See TracBrowser for help on using the repository browser.