NEURON
ndatclas.h
Go to the documentation of this file.
1 #ifndef nrn_dataclass_h
2 #define nrn_dataclass_h
3 
4 #include <InterViews/resource.h>
5 
6 class NrnPropertyImpl;
7 class SectionListImpl;
8 class NrnNodeImpl;
9 
10 class NrnProperty {
11  public:
12  NrnProperty(Prop*);
13  NrnProperty(const char*);
14  virtual ~NrnProperty();
15  const char* name() const;
16  int type() const;
17  bool is_point() const;
18  bool deleteable();
19 
20  Symbol* first_var();
21  bool more_var();
22  Symbol* next_var();
23  Symbol* find(const char* rangevar);
24  Symbol* var(int);
25  int prop_index(const Symbol*) const;
26  double* prop_pval(const Symbol*, int arrayindex = 0) const;
27 
28  Prop* prop() const;
29  int var_type(Symbol*) const;
30  // vartype=0, 1, 2, 3 means all, PARAMETER, ASSIGNED, STATE
31  static bool assign(Prop* src, Prop* dest, int vartype = 0);
32 
33  private:
35 };
36 
37 class SectionList: public Resource {
38  public:
40  virtual ~SectionList();
41  Section* begin();
42  Section* next();
43  Object* nrn_object();
44 
45  private:
47 };
48 
49 #if 0
50 class NrnSection {
51 public:
52  NrnSection(Section* sec);
53  virtual ~NrnSection();
54  void section(Section*);
55  Section* section();
56  Node* node(int index);
57  bool is_mechanism(int type);
58  double* var_pointer(Symbol*, int index=0, int inode=0);
59  double* var_pointer(const char*); // eg. ca_cadifus[2](.7)
60 private:
61  NrnNodeImpl* nni_;
62 };
63 #endif
64 
65 #endif
short index
Definition: cabvars.h:10
short type
Definition: cabvars.h:9
bool deleteable()
Definition: ndatclas.cpp:107
int prop_index(const Symbol *) const
Definition: ndatclas.cpp:215
Symbol * find(const char *rangevar)
Definition: ndatclas.cpp:203
int var_type(Symbol *) const
Definition: ndatclas.cpp:153
double * prop_pval(const Symbol *, int arrayindex=0) const
Definition: ndatclas.cpp:223
NrnProperty(Prop *)
Definition: ndatclas.cpp:65
virtual ~NrnProperty()
Definition: ndatclas.cpp:103
static bool assign(Prop *src, Prop *dest, int vartype=0)
Definition: ndatclas.cpp:157
Symbol * var(int)
Definition: ndatclas.cpp:149
Symbol * first_var()
Definition: ndatclas.cpp:127
const char * name() const
Definition: ndatclas.cpp:111
int type() const
Definition: ndatclas.cpp:119
Symbol * next_var()
Definition: ndatclas.cpp:140
bool more_var()
Definition: ndatclas.cpp:132
bool is_point() const
Definition: ndatclas.cpp:115
NrnPropertyImpl * npi_
Definition: ndatclas.h:34
Prop * prop() const
Definition: ndatclas.cpp:123
SectionList(Object *)
Definition: ndatclas.cpp:236
SectionListImpl * sli_
Definition: ndatclas.h:46
virtual ~SectionList()
Definition: ndatclas.cpp:244
Object * nrn_object()
Definition: ndatclas.cpp:263
Section * next()
Definition: ndatclas.cpp:252
Section * begin()
Definition: ndatclas.cpp:248
#define sec
Definition: md1redef.h:13
static Node * node(Object *)
Definition: netcvode.cpp:340
Definition: section.h:133
Definition: hocdec.h:227
Definition: section.h:214
Definition: model.h:57