Bridges-C++  3.4.5-dev1-6-g935685a
Bridges(C++ API)
ElevationData.h
Go to the documentation of this file.
1 
2 #ifndef ELEVATION_DATA
3 
4 #define ELEVATION_DATA
5 
6 #include <vector>
7 
8 namespace bridges {
9 
10  namespace dataset {
11 
27  class ElevationData {
28  private:
29 
30  // elevation data - sequence of integers
31  std::vector<int> data;
32 
33  // data dimensions
34  int rows, cols;
35 
36  // origin
37  int xll, yll;
38  float cellSize;
39 
40  // maximum value in the data set
41  int maxVal;
42  int minVal;
43 
44  public:
45 
53 
54  cols = rows = 0;
55  xll = yll = 0.;
56  cellSize = 0;
57  maxVal = std::numeric_limits<int>::min();
58  minVal = std::numeric_limits<int>::max();
59  }
60 
70  ElevationData(int r, int c) {
71  rows = r;
72  cols = c;
73  data.resize(cols * rows);
74  xll = yll = 0.;
75  cellSize = 0;
76  maxVal = std::numeric_limits<int>::min();
77  minVal = std::numeric_limits<int>::max();
78  }
90  ElevationData (int cols, int rows, int xll,
91  int yll, float cellsize, int maxVal, int minVal) {
92  //data = new int[cols * rows];
93  data.resize(cols * rows);
94  setCols(cols);
95  setRows(rows);
96  setxll(xll);
97  setyll(yll);
98  setCellSize (cellsize);
99  setMaxVal(maxVal);
100  setMinVal(minVal);
101  }
102 
107  //delete [] data;
108  }
109 
115  int getCols() const {
116  return cols;
117  }
118 
123  void setCols(int c) {
124  cols = c;
125  }
126 
130  vector<int> getData() {
131  return data;
132  }
133 
140  int getVal (int r, int c) const {
141  return data[r * cols + c];
142  }
143 
151  void setVal (int r, int c, int val) {
152  minVal = std::min(minVal, val);
153  maxVal = std::max(maxVal, val);
154 
155  data[r * cols + c] = val;
156  }
162  int getRows() const {
163  return rows;
164  }
165 
171  void setRows(int r) {
172  rows = r;
173  }
174 
179  int getxll() const {
180  return xll;
181  }
182 
189  void setxll(int x_ll) {
190  xll = x_ll;
191  }
192 
197  int getyll() const {
198  return yll;
199  }
200 
206  void setyll(int y_ll) {
207  yll = y_ll;
208  }
209 
215  float getCellSize() const {
216  return cellSize;
217  }
218 
224  void setCellSize(float cell_size) {
225  cellSize = cell_size;
226  }
227 
233  int getMaxVal() const {
234  return maxVal;
235  }
236 
242  void setMaxVal(int max_val) {
243  maxVal = max_val;
244  }
250  int getMinVal() const {
251  return minVal;
252  }
253 
259  void setMinVal(int min_val) {
260  minVal = min_val;
261  }
262 
263  };
264  }
265 }
266 #endif
Class that hold elevation data.
Definition: ElevationData.h:27
void setRows(int r)
Definition: ElevationData.h:171
vector< int > getData()
Definition: ElevationData.h:130
int getyll() const
Definition: ElevationData.h:197
int getCols() const
Definition: ElevationData.h:115
~ElevationData()
Definition: ElevationData.h:106
int getMinVal() const
Definition: ElevationData.h:250
int getRows() const
Definition: ElevationData.h:162
int getxll() const
Definition: ElevationData.h:179
void setyll(int y_ll)
Definition: ElevationData.h:206
ElevationData()
Definition: ElevationData.h:52
int getVal(int r, int c) const
Definition: ElevationData.h:140
int getMaxVal() const
Definition: ElevationData.h:233
ElevationData(int r, int c)
Definition: ElevationData.h:70
void setxll(int x_ll)
Definition: ElevationData.h:189
void setVal(int r, int c, int val)
Definition: ElevationData.h:151
void setCellSize(float cell_size)
Definition: ElevationData.h:224
void setMinVal(int min_val)
Definition: ElevationData.h:259
float getCellSize() const
Definition: ElevationData.h:215
void setCols(int c)
Definition: ElevationData.h:123
ElevationData(int cols, int rows, int xll, int yll, float cellsize, int maxVal, int minVal)
Definition: ElevationData.h:90
void setMaxVal(int max_val)
Definition: ElevationData.h:242
Support for drawing Bar charts.
Definition: alltypes.h:4