root/include/core/Compartment.hpp

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef _COMPARTMENT_HPP_
   2 #define _COMPARTMENT_HPP_
   3 
   4 #include "utility/libraries.hpp"
   5 #include "utility/constants.hpp"
   6 #include "core/Voxel.hpp"
   7 
   8 class Neuron; // forward declaration to avoid cyclic dependency issues
   9 
  10 class Compartment
  11 {
  12 public:
  13     string id;
  14     Neuron * neuron;
  15     osg::ref_ptr<osg::Switch> node;
  16     osg::ref_ptr<osg::Geode> voxel_group_node;
  17     std::vector<Voxel *> voxel_seq;
  18     std::unordered_map<string, Voxel *> voxel_map;
  19 
  20     Compartment(const char * id);
  21 
  22     ~Compartment();
  23 
  24     const char *
  25     get_id();
  26 
  27     void
  28     set_neuron(Neuron * Neuron);
  29 
  30     Neuron *
  31     get_neuron();
  32 
  33     void
  34     hide();
  35 
  36     void
  37     show();
  38 
  39     bool
  40     is_visible();
  41 
  42     unsigned int
  43     size();
  44 
  45     unsigned int
  46     add_geometry( PyObject * distal
  47                 , PyObject * proximal = Py_None
  48                 , PyObject * parent   = Py_None
  49                 );
  50 
  51     unsigned int
  52     add_voxel(Voxel * voxel);
  53 
  54     unsigned int
  55     remove_voxel(Voxel * voxel);
  56 
  57     void
  58     show_geometry(unsigned int geometry_index, bool hide_others);
  59 
  60     void
  61     hide_geometry(unsigned int geometry_index);
  62 
  63     void
  64     show_all_geometries();
  65 
  66     void
  67     hide_all_geometries();
  68 
  69     void
  70     set_color(PyObject * color);
  71 
  72     bool
  73     set_colors(PyObject * colors);
  74 };
  75 
  76 #endif /* _COMPARTMENT_HPP_ */

/* [<][>][^][v][top][bottom][index][help] */