/* [<][>][^][v][top][bottom][index][help] */
1 #ifndef _VOXEL_HPP_
2 #define _VOXEL_HPP_
3 #include "utility/libraries.hpp"
4 #include "utility/constants.hpp"
5
6 class Compartment; // forward declaration to avoid cyclic dependency issues
7
8 class Voxel
9 {
10 public:
11 string id;
12 Compartment * compartment;
13 osg::ref_ptr<osg::Geometry> node;
14
15 Voxel(const char * id);
16
17 ~Voxel();
18
19 const char *
20 get_id();
21
22 void
23 set_compartment(Compartment * compartment);
24
25 Compartment *
26 get_compartment();
27
28 void
29 hide();
30
31 void
32 show();
33
34 bool
35 is_visible();
36
37 void
38 set_geometry( PyObject * distal
39 , PyObject * proximal = Py_None
40 , PyObject * parent = Py_None
41 );
42
43 void
44 set_color(PyObject * color);
45 };
46
47 #endif /* _VOXEL_HPP_ */