00001 /*************************************************************************** 00002 * SpikeStream Application * 00003 * Copyright (C) 2007 by David Gamez * 00004 * david@davidgamez.eu * 00005 * Version 0.1 * 00006 * * 00007 * This program is free software; you can redistribute it and/or modify * 00008 * it under the terms of the GNU General Public License as published by * 00009 * the Free Software Foundation; either version 2 of the License, or * 00010 * (at your option) any later version. * 00011 * * 00012 * This program is distributed in the hope that it will be useful, * 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00015 * GNU General Public License for more details. * 00016 * * 00017 * You should have received a copy of the GNU General Public License * 00018 * along with this program; if not, write to the * 00019 * Free Software Foundation, Inc., * 00020 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 00021 ***************************************************************************/ 00022 00023 #ifndef NEURONGROUPHOLDER_H 00024 #define NEURONGROUPHOLDER_H 00025 00026 //Qt includes 00027 #include <qstring.h> 00028 00029 00030 /*! Container holding the cubic volume enclosing a region of space. 00031 Used to view an area containing a neural network. */ 00032 struct ClippingVolume{ 00033 float minX; 00034 float maxX; 00035 float minY; 00036 float maxY; 00037 float minZ; 00038 float maxZ; 00039 }; 00040 00041 00042 //-------------------------- Neuron Group Holder -------------------------- 00043 /*! Class to hold neuron groups for display purposes by the Network Viewer 00044 class. The contents of this overlap with the Neuron Group class, which 00045 is used to pass information about neuron groups between methods. */ 00046 //------------------------------------------------------------------------- 00047 00048 class NeuronGroupHolder { 00049 00050 public: 00051 //============================ METHODS ===================================== 00052 NeuronGroupHolder(); 00053 ~NeuronGroupHolder(); 00054 00055 00056 //=========================== VARIABLES ==================================== 00057 /*! ID of the first neuron. This is used for rapid access to X, Y, Z 00058 coordinates.*/ 00059 unsigned int startNeuronID; 00060 unsigned int *neuronIDArray; 00061 float *xPosArray; 00062 float *yPosArray; 00063 float *zPosArray; 00064 unsigned short neuronType; 00065 unsigned int numberOfNeurons; 00066 QString name; 00067 unsigned int width; 00068 unsigned int length; 00069 unsigned int depth; 00070 unsigned int neuronSpacing; 00071 int xPos; 00072 int yPos; 00073 int zPos; 00074 ClippingVolume clippingVolume; 00075 00076 00077 private: 00078 //============================== METHODS ============================== 00079 /*! Declare copy constructor private so it cannot be used inadvertently.*/ 00080 NeuronGroupHolder (const NeuronGroupHolder&); 00081 00082 /*! Declare assignment private so it cannot be used inadvertently.*/ 00083 NeuronGroupHolder operator = (const NeuronGroupHolder&); 00084 00085 }; 00086 00087 00088 #endif//NEURONGROUPHOLDER_H 00089
1.4.4