/home/enzo/treballs/fib/pfc/nanocomp/src/grid.hpp

Go to the documentation of this file.
00001 /*
00002  *                                                                         *
00003  *   This program is free software; you can redistribute it and/or modify  *
00004  *   it under the terms of the GNU General Public License as published by  *
00005  *   the Free Software Foundation; either version 2 of the License, or     *
00006  *   (at your option) any later version.                                   *
00007  *                                                                         *
00008  *   This program is distributed in the hope that it will be useful,       *
00009  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00010  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00011  *   GNU General Public License for more details.                          *
00012  *                                                                         *
00013  *   You should have received a copy of the GNU General Public License     *
00014  *   along with this program; if not, write to the                         *
00015  *   Free Software Foundation, Inc.,                                       *
00016  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00017                                                                           */
00018 
00029 #ifndef GRID_HPP_
00030 #define GRID_HPP_
00031 
00032 #include <vector>
00033 
00034 using namespace std;
00035 
00037 
00038 enum Status
00039 {
00040     nDONTCARE = 0, 
00041     nNOSPACE, 
00042     nENABLED, 
00043     nDISABLED, 
00044     nINPUT, 
00045     nOUTPUT, 
00046     nERROR 
00047 };
00048 
00049 using namespace std;
00050 
00051 typedef vector< vector<int> > matrix;
00052 
00053 class Grid
00054 {
00055 public:
00056         Grid();
00057     Grid(matrix newList);
00058     Grid(int w, int h);
00059         virtual ~Grid();
00060     int getWidth() const;
00061     int getHeight() const;
00062     matrix getCells() const;
00063     void init(const Grid& grid);
00064     bool operator ==(Grid grid);
00065     int& operator ()(int x, int y);
00066     bool isEnabled(int x, int y);
00067     bool isDisabled(int x, int y);
00068     bool isInput(int x, int y);
00069     bool isOutput(int x, int y);
00070     bool isSpace(int x, int y);
00071         
00072 private:
00074     matrix cells;
00076     int width;
00078     int height;
00079 };
00080 
00081 #endif /*GRID_HPP_*/

Generated on Fri Sep 1 23:55:14 2006 for NanoComp by  doxygen 1.4.6