1
- // -*- C++ -*-
2
- // -*- coding: utf-8 -*-
3
- //
4
- // Author: Bryan V. Riel, Joshua Cohen
5
- // Copyright 2017-2018
6
-
7
1
#pragma once
8
2
9
3
#include " forward.h"
10
4
11
5
#include < valarray>
12
6
#include < string>
7
+
13
8
#include < isce3/io/Raster.h>
14
9
15
10
class isce3 ::geometry::TopoLayers {
@@ -89,9 +84,9 @@ class isce3::geometry::TopoLayers {
89
84
GDT_Float32, " ISCE" );
90
85
_simRaster = new isce3::io::Raster (outdir + " /simamp.rdr" , width, length, 1 ,
91
86
GDT_Float32, " ISCE" );
92
-
87
+
93
88
// Optional mask raster
94
- if (computeMask) {
89
+ if (computeMask) {
95
90
_maskRaster = new isce3::io::Raster (outdir + " /mask.rdr" , width, length, 1 ,
96
91
GDT_Byte, " ISCE" );
97
92
} else {
@@ -149,36 +144,36 @@ class isce3::geometry::TopoLayers {
149
144
std::valarray<float > & sim () { return _sim; }
150
145
std::valarray<short > & mask () { return _mask; }
151
146
std::valarray<double > & crossTrack () { return _crossTrack; }
152
-
147
+
153
148
// Set values for a single index
154
149
void x (size_t row, size_t col, double value) {
155
150
_x[row*_width+col] = value;
156
151
}
157
-
152
+
158
153
void y (size_t row, size_t col, double value) {
159
154
_y[row*_width + col] = value;
160
155
}
161
-
156
+
162
157
void z (size_t row, size_t col, double value) {
163
158
_z[row*_width + col] = value;
164
159
}
165
-
160
+
166
161
void inc (size_t row, size_t col, float value) {
167
162
_inc[row*_width + col] = value;
168
163
}
169
-
164
+
170
165
void hdg (size_t row, size_t col, float value) {
171
166
_hdg[row*_width + col] = value;
172
167
}
173
-
168
+
174
169
void localInc (size_t row, size_t col, float value) {
175
170
_localInc[row*_width + col] = value;
176
171
}
177
-
172
+
178
173
void localPsi (size_t row, size_t col, float value) {
179
174
_localPsi[row*_width + col] = value;
180
175
}
181
-
176
+
182
177
void sim (size_t row, size_t col, float value) {
183
178
_sim[row*_width + col] = value;
184
179
}
@@ -195,31 +190,31 @@ class isce3::geometry::TopoLayers {
195
190
double x (size_t row, size_t col) const {
196
191
return _x[row*_width+col];
197
192
}
198
-
193
+
199
194
double y (size_t row, size_t col) const {
200
195
return _y[row*_width + col];
201
196
}
202
-
197
+
203
198
double z (size_t row, size_t col) const {
204
199
return _z[row*_width + col];
205
200
}
206
-
201
+
207
202
float inc (size_t row, size_t col) const {
208
203
return _inc[row*_width + col];
209
204
}
210
-
205
+
211
206
float hdg (size_t row, size_t col) const {
212
207
return _hdg[row*_width + col];
213
208
}
214
-
209
+
215
210
float localInc (size_t row, size_t col) const {
216
211
return _localInc[row*_width + col];
217
212
}
218
-
213
+
219
214
float localPsi (size_t row, size_t col) const {
220
215
return _localPsi[row*_width + col];
221
216
}
222
-
217
+
223
218
float sim (size_t row, size_t col) const {
224
219
return _sim[row*_width + col];
225
220
}
@@ -233,20 +228,8 @@ class isce3::geometry::TopoLayers {
233
228
}
234
229
235
230
// Write data with rasters
236
- void writeData (size_t xidx, size_t yidx) {
237
- _xRaster->setBlock (_x, xidx, yidx, _width, _length);
238
- _yRaster->setBlock (_y, xidx, yidx, _width, _length);
239
- _zRaster->setBlock (_z, xidx, yidx, _width, _length);
240
- _incRaster->setBlock (_inc, xidx, yidx, _width, _length);
241
- _hdgRaster->setBlock (_hdg, xidx, yidx, _width, _length);
242
- _localIncRaster->setBlock (_localInc, xidx, yidx, _width, _length);
243
- _localPsiRaster->setBlock (_localPsi, xidx, yidx, _width, _length);
244
- _simRaster->setBlock (_sim, xidx, yidx, _width, _length);
245
- if (_maskRaster) {
246
- _maskRaster->setBlock (_mask, xidx, yidx, _width, _length);
247
- }
248
- }
249
-
231
+ void writeData (size_t xidx, size_t yidx);
232
+
250
233
private:
251
234
// The valarrays for the actual data
252
235
std::valarray<double > _x;
@@ -277,4 +260,5 @@ class isce3::geometry::TopoLayers {
277
260
// Directory for placing rasters
278
261
std::string _topodir;
279
262
bool _haveRasters;
263
+
280
264
};
0 commit comments