1 /*!
2  *
3  * \class CRasterGrid
4  * \brief Class used to represent the raster grid of cell objects
5  * \details TODO This is a more detailed description of the CRasterGrid class.
6  * \author David Favis-Mortlock
7  * \author Andres Payo
8  * \author Jim Hall
9  * \date 2017
10  * \copyright GNU General Public License
11  *
12  * \file rastergrid.h
13  * \brief Contains CRasterGrid definitions
14  *
15  */
16 
17 #ifndef RASTERGRID_H
18 #define RASTERGRID_H
19 /*===============================================================================================================================
20 
21  This file is part of CliffMetrics, the Coastal Modelling Environment.
22 
23  CliffMetrics is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
24 
25  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
26 
27  You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
28 
29 ===============================================================================================================================*/
30 #include "cliffmetrics.h"
31 #include "cell.h"
32 
33 
34 class CCell;         // Forward declaration
35 class CDelineation;   // Ditto
36 
37 class CRasterGrid
38 {
39 private:
40    double
41       m_dD50Fine,
42       m_dD50Sand,
43       m_dD50Coarse;
44 
45    CDelineation* m_pSim;
46 
47    vector< vector<CCell> > m_Cell;
48 
49 public:
50 
51    explicit CRasterGrid(CDelineation*);
52    ~CRasterGrid(void);
53 
54    CDelineation* pGetSim(void);
55    CCell* pGetCell(int const, int const);
56    int nCreateGrid(void);
57 };
58 #endif // RASTERGRID_H
59