Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

NeuronGroupHolder.h

Go to the documentation of this file.
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 

Generated on Mon Sep 3 22:29:04 2007 for SpikeStream Application by  doxygen 1.4.4