1 //---
2 // File: ossimNitfRsmidaTag.cpp
3 //---
4
5 #include <ossim/support_data/ossimNitfRsmidaTag.h>
6 #include <iomanip>
7 #include <iostream>
8
9 using namespace std;
10
11 RTTI_DEF1(ossimNitfRsmidaTag, "ossimNitfRsmidaTag", ossimNitfRegisteredTag);
12
ossimNitfRsmidaTag()13 ossimNitfRsmidaTag::ossimNitfRsmidaTag()
14 :
15 ossimNitfRegisteredTag(std::string("RSMIDA"), CEL_SIZE),
16 m_iid(),
17 m_edition(),
18 m_isid(),
19 m_sid(),
20 m_stid(),
21 m_year(),
22 m_month(),
23 m_day(),
24 m_hour(),
25 m_minute(),
26 m_second(),
27 m_nrg(),
28 m_ncg(),
29 m_trg(),
30 m_tcg(),
31 m_grndd(),
32
33 m_xuor(),
34 m_yuor(),
35 m_zuor(),
36 m_xuxr(),
37 m_xuyr(),
38 m_xuzr(),
39 m_yuxr(),
40 m_yuyr(),
41 m_yuzr(),
42 m_zuxr(),
43 m_zuyr(),
44 m_zuzr(),
45
46 m_v1x(),
47 m_v1y(),
48 m_v1z(),
49 m_v2x(),
50 m_v2y(),
51 m_v2z(),
52 m_v3x(),
53 m_v3y(),
54 m_v3z(),
55 m_v4x(),
56 m_v4y(),
57 m_v4z(),
58 m_v5x(),
59 m_v5y(),
60 m_v5z(),
61 m_v6x(),
62 m_v6y(),
63 m_v6z(),
64 m_v7x(),
65 m_v7y(),
66 m_v7z(),
67 m_v8x(),
68 m_v8y(),
69 m_v8z(),
70
71 m_grpx(),
72 m_grpy(),
73 m_grpz(),
74
75 m_fullr(),
76 m_fullc(),
77
78 m_minr(),
79 m_maxr(),
80 m_minc(),
81 m_maxc(),
82
83 m_ie0(),
84 m_ier(),
85 m_iec(),
86 m_ierr(),
87 m_ierc(),
88 m_iecc(),
89 m_ia0(),
90 m_iar(),
91 m_iac(),
92 m_iarr(),
93 m_iarc(),
94 m_iacc(),
95
96 m_spx(),
97 m_svx(),
98 m_sax(),
99 m_spy(),
100 m_svy(),
101 m_say(),
102 m_spz(),
103 m_svz(),
104 m_saz()
105 {
106 clearFields();
107 }
108
parseStream(std::istream & in)109 void ossimNitfRsmidaTag::parseStream(std::istream& in)
110 {
111 in.read(m_iid, IID_SIZE);
112 in.read(m_edition, EDITION_SIZE);
113 in.read(m_isid, ISID_SIZE);
114 in.read(m_sid, SID_SIZE);
115 in.read(m_stid, STID_SIZE);
116 in.read(m_year, YEAR_SIZE);
117 in.read(m_month, MONTH_SIZE);
118 in.read(m_day, DAY_SIZE);
119 in.read(m_hour, HOUR_SIZE);
120 in.read(m_minute, MINUTE_SIZE);
121 in.read(m_second, SECOND_SIZE);
122 in.read(m_nrg, NRG_SIZE);
123 in.read(m_ncg, NCG_SIZE);
124 in.read(m_trg, FLOAT21_SIZE);
125 in.read(m_tcg, FLOAT21_SIZE);
126 in.read(m_grndd, GRNDD_SIZE);
127 in.read(m_xuor, FLOAT21_SIZE);
128 in.read(m_yuor, FLOAT21_SIZE);
129 in.read(m_zuor, FLOAT21_SIZE);
130 in.read(m_xuxr, FLOAT21_SIZE);
131 in.read(m_xuyr, FLOAT21_SIZE);
132 in.read(m_xuzr, FLOAT21_SIZE);
133 in.read(m_yuxr, FLOAT21_SIZE);
134 in.read(m_yuyr, FLOAT21_SIZE);
135 in.read(m_yuzr, FLOAT21_SIZE);
136 in.read(m_zuxr, FLOAT21_SIZE);
137 in.read(m_zuyr, FLOAT21_SIZE);
138 in.read(m_zuzr, FLOAT21_SIZE);
139 in.read(m_v1x, FLOAT21_SIZE);
140 in.read(m_v1y, FLOAT21_SIZE);
141 in.read(m_v1z, FLOAT21_SIZE);
142 in.read(m_v2x, FLOAT21_SIZE);
143 in.read(m_v2y, FLOAT21_SIZE);
144 in.read(m_v2z, FLOAT21_SIZE);
145 in.read(m_v3x, FLOAT21_SIZE);
146 in.read(m_v3y, FLOAT21_SIZE);
147 in.read(m_v3z, FLOAT21_SIZE);
148 in.read(m_v4x, FLOAT21_SIZE);
149 in.read(m_v4y, FLOAT21_SIZE);
150 in.read(m_v4z, FLOAT21_SIZE);
151 in.read(m_v5x, FLOAT21_SIZE);
152 in.read(m_v5y, FLOAT21_SIZE);
153 in.read(m_v5z, FLOAT21_SIZE);
154 in.read(m_v6x, FLOAT21_SIZE);
155 in.read(m_v6y, FLOAT21_SIZE);
156 in.read(m_v6z, FLOAT21_SIZE);
157 in.read(m_v7x, FLOAT21_SIZE);
158 in.read(m_v7y, FLOAT21_SIZE);
159 in.read(m_v7z, FLOAT21_SIZE);
160 in.read(m_v8x, FLOAT21_SIZE);
161 in.read(m_v8y, FLOAT21_SIZE);
162 in.read(m_v8z, FLOAT21_SIZE);
163 in.read(m_grpx, FLOAT21_SIZE);
164 in.read(m_grpy, FLOAT21_SIZE);
165 in.read(m_grpz, FLOAT21_SIZE);
166 in.read(m_fullr, FULL_SIZE);
167 in.read(m_fullc, FULL_SIZE);
168 in.read(m_minr, MIN_SIZE);
169 in.read(m_maxr, MAX_SIZE);
170 in.read(m_minc, MIN_SIZE);
171 in.read(m_maxc, MAX_SIZE);
172 in.read(m_ie0, FLOAT21_SIZE);
173 in.read(m_ier, FLOAT21_SIZE);
174 in.read(m_iec, FLOAT21_SIZE);
175 in.read(m_ierr, FLOAT21_SIZE);
176 in.read(m_ierc, FLOAT21_SIZE);
177 in.read(m_iecc, FLOAT21_SIZE);
178 in.read(m_ia0, FLOAT21_SIZE);
179 in.read(m_iar, FLOAT21_SIZE);
180 in.read(m_iac, FLOAT21_SIZE);
181 in.read(m_iarr, FLOAT21_SIZE);
182 in.read(m_iarc, FLOAT21_SIZE);
183 in.read(m_iacc, FLOAT21_SIZE);
184 in.read(m_spx, FLOAT21_SIZE);
185 in.read(m_svx, FLOAT21_SIZE);
186 in.read(m_sax, FLOAT21_SIZE);
187 in.read(m_spy, FLOAT21_SIZE);
188 in.read(m_svy, FLOAT21_SIZE);
189 in.read(m_say, FLOAT21_SIZE);
190 in.read(m_spz, FLOAT21_SIZE);
191 in.read(m_svz, FLOAT21_SIZE);
192 in.read(m_saz, FLOAT21_SIZE);
193 }
194
writeStream(std::ostream & out)195 void ossimNitfRsmidaTag::writeStream(std::ostream& out)
196 {
197 out.write(m_iid, IID_SIZE);
198 out.write(m_edition, EDITION_SIZE);
199 out.write(m_isid, ISID_SIZE);
200 out.write(m_sid, SID_SIZE);
201 out.write(m_stid, STID_SIZE);
202 out.write(m_year, YEAR_SIZE);
203 out.write(m_month, MONTH_SIZE);
204 out.write(m_day, DAY_SIZE);
205 out.write(m_hour, HOUR_SIZE);
206 out.write(m_minute, MINUTE_SIZE);
207 out.write(m_second, SECOND_SIZE);
208 out.write(m_nrg, NRG_SIZE);
209 out.write(m_ncg, NCG_SIZE);
210 out.write(m_trg, FLOAT21_SIZE);
211 out.write(m_tcg, FLOAT21_SIZE);
212 out.write(m_grndd, GRNDD_SIZE);
213 out.write(m_xuor, FLOAT21_SIZE);
214 out.write(m_yuor, FLOAT21_SIZE);
215 out.write(m_zuor, FLOAT21_SIZE);
216 out.write(m_xuxr, FLOAT21_SIZE);
217 out.write(m_xuyr, FLOAT21_SIZE);
218 out.write(m_xuzr, FLOAT21_SIZE);
219 out.write(m_yuxr, FLOAT21_SIZE);
220 out.write(m_yuyr, FLOAT21_SIZE);
221 out.write(m_yuzr, FLOAT21_SIZE);
222 out.write(m_zuxr, FLOAT21_SIZE);
223 out.write(m_zuyr, FLOAT21_SIZE);
224 out.write(m_zuzr, FLOAT21_SIZE);
225 out.write(m_v1x, FLOAT21_SIZE);
226 out.write(m_v1y, FLOAT21_SIZE);
227 out.write(m_v1z, FLOAT21_SIZE);
228 out.write(m_v2x, FLOAT21_SIZE);
229 out.write(m_v2y, FLOAT21_SIZE);
230 out.write(m_v2z, FLOAT21_SIZE);
231 out.write(m_v3x, FLOAT21_SIZE);
232 out.write(m_v3y, FLOAT21_SIZE);
233 out.write(m_v3z, FLOAT21_SIZE);
234 out.write(m_v4x, FLOAT21_SIZE);
235 out.write(m_v4y, FLOAT21_SIZE);
236 out.write(m_v4z, FLOAT21_SIZE);
237 out.write(m_v5x, FLOAT21_SIZE);
238 out.write(m_v5y, FLOAT21_SIZE);
239 out.write(m_v5z, FLOAT21_SIZE);
240 out.write(m_v6x, FLOAT21_SIZE);
241 out.write(m_v6y, FLOAT21_SIZE);
242 out.write(m_v6z, FLOAT21_SIZE);
243 out.write(m_v7x, FLOAT21_SIZE);
244 out.write(m_v7y, FLOAT21_SIZE);
245 out.write(m_v7z, FLOAT21_SIZE);
246 out.write(m_v8x, FLOAT21_SIZE);
247 out.write(m_v8y, FLOAT21_SIZE);
248 out.write(m_v8z, FLOAT21_SIZE);
249 out.write(m_grpx, FLOAT21_SIZE);
250 out.write(m_grpy, FLOAT21_SIZE);
251 out.write(m_grpz, FLOAT21_SIZE);
252 out.write(m_fullr, FULL_SIZE);
253 out.write(m_fullc, FULL_SIZE);
254 out.write(m_minr, MIN_SIZE);
255 out.write(m_maxr, MAX_SIZE);
256 out.write(m_minc, MIN_SIZE);
257 out.write(m_maxc, MAX_SIZE);
258 out.write(m_ie0, FLOAT21_SIZE);
259 out.write(m_ier, FLOAT21_SIZE);
260 out.write(m_iec, FLOAT21_SIZE);
261 out.write(m_ierr, FLOAT21_SIZE);
262 out.write(m_ierc, FLOAT21_SIZE);
263 out.write(m_iecc, FLOAT21_SIZE);
264 out.write(m_ia0, FLOAT21_SIZE);
265 out.write(m_iar, FLOAT21_SIZE);
266 out.write(m_iac, FLOAT21_SIZE);
267 out.write(m_iarr, FLOAT21_SIZE);
268 out.write(m_iarc, FLOAT21_SIZE);
269 out.write(m_iacc, FLOAT21_SIZE);
270 out.write(m_spx, FLOAT21_SIZE);
271 out.write(m_svx, FLOAT21_SIZE);
272 out.write(m_sax, FLOAT21_SIZE);
273 out.write(m_spy, FLOAT21_SIZE);
274 out.write(m_svy, FLOAT21_SIZE);
275 out.write(m_say, FLOAT21_SIZE);
276 out.write(m_spz, FLOAT21_SIZE);
277 out.write(m_svz, FLOAT21_SIZE);
278 out.write(m_saz, FLOAT21_SIZE);
279 }
280
print(std::ostream & out,const std::string & prefix) const281 std::ostream& ossimNitfRsmidaTag::print(std::ostream& out,
282 const std::string& prefix) const
283 {
284 std::string pfx = prefix;
285 pfx += getTagName();
286 pfx += ".";
287 out << setiosflags(ios::left)
288 << pfx << std::setw(24) << "CETAG:" << getTagName() << "\n"
289 << pfx << std::setw(24) << "CEL:" << getTagLength() << "\n"
290 << pfx << std::setw(24) << "IID:" << m_iid << "\n"
291 << pfx << std::setw(24) << "EDITION:" << m_edition << "\n"
292 << pfx << std::setw(24) << "ISID:" << m_isid << "\n"
293 << pfx << std::setw(24) << "SID:" << m_sid << "\n"
294 << pfx << std::setw(24) << "STID:" << m_stid << "\n"
295 << pfx << std::setw(24) << "YEAR:" << m_year << "\n"
296 << pfx << std::setw(24) << "MONTH:" << m_month << "\n"
297 << pfx << std::setw(24) << "DAY:" << m_day << "\n"
298 << pfx << std::setw(24) << "HOUR:" << m_hour << "\n"
299 << pfx << std::setw(24) << "MINUTE:" << m_minute << "\n"
300 << pfx << std::setw(24) << "SECOND:" << m_second << "\n"
301 << pfx << std::setw(24) << "NRG:" << m_nrg << "\n"
302 << pfx << std::setw(24) << "NCG:" << m_ncg << "\n"
303 << pfx << std::setw(24) << "TRG:" << m_trg << "\n"
304 << pfx << std::setw(24) << "TCG:" << m_tcg << "\n"
305 << pfx << std::setw(24) << "GRNDD:" << m_grndd << "\n"
306 << pfx << std::setw(24) << "XUOR:" << m_xuor << "\n"
307 << pfx << std::setw(24) << "YUOR:" << m_yuor << "\n"
308 << pfx << std::setw(24) << "ZUOR:" << m_zuor << "\n"
309 << pfx << std::setw(24) << "XUXR:" << m_xuxr << "\n"
310 << pfx << std::setw(24) << "XUYR:" << m_xuyr << "\n"
311 << pfx << std::setw(24) << "XUZR:" << m_xuzr << "\n"
312 << pfx << std::setw(24) << "YUXR:" << m_yuxr << "\n"
313 << pfx << std::setw(24) << "YUYR:" << m_yuyr << "\n"
314 << pfx << std::setw(24) << "YUZR:" << m_yuzr << "\n"
315 << pfx << std::setw(24) << "ZUXR:" << m_zuxr << "\n"
316 << pfx << std::setw(24) << "ZUYR:" << m_zuyr << "\n"
317 << pfx << std::setw(24) << "ZUZR:" << m_zuzr << "\n"
318 << pfx << std::setw(24) << "V1X:" << m_v1x << "\n"
319 << pfx << std::setw(24) << "V1Y:" << m_v1x << "\n"
320 << pfx << std::setw(24) << "V1Z:" << m_v1x << "\n"
321 << pfx << std::setw(24) << "V2X:" << m_v1x << "\n"
322 << pfx << std::setw(24) << "V2Y:" << m_v1x << "\n"
323 << pfx << std::setw(24) << "V2Z:" << m_v1x << "\n"
324 << pfx << std::setw(24) << "V3X:" << m_v1x << "\n"
325 << pfx << std::setw(24) << "V3Y:" << m_v1x << "\n"
326 << pfx << std::setw(24) << "V3Z:" << m_v1x << "\n"
327 << pfx << std::setw(24) << "V4X:" << m_v1x << "\n"
328 << pfx << std::setw(24) << "V4Y:" << m_v1x << "\n"
329 << pfx << std::setw(24) << "V4Z:" << m_v1x << "\n"
330 << pfx << std::setw(24) << "V5X:" << m_v1x << "\n"
331 << pfx << std::setw(24) << "V5Y:" << m_v1x << "\n"
332 << pfx << std::setw(24) << "V5Z:" << m_v1x << "\n"
333 << pfx << std::setw(24) << "V6X:" << m_v1x << "\n"
334 << pfx << std::setw(24) << "V6Y:" << m_v1x << "\n"
335 << pfx << std::setw(24) << "V6Z:" << m_v1x << "\n"
336 << pfx << std::setw(24) << "V7X:" << m_v1x << "\n"
337 << pfx << std::setw(24) << "V7Y:" << m_v1x << "\n"
338 << pfx << std::setw(24) << "V7Z:" << m_v1x << "\n"
339 << pfx << std::setw(24) << "V8X:" << m_v1x << "\n"
340 << pfx << std::setw(24) << "V8Y:" << m_v1x << "\n"
341 << pfx << std::setw(24) << "V8Z:" << m_v1x << "\n"
342 << pfx << std::setw(24) << "GRPX:" << m_grpx << "\n"
343 << pfx << std::setw(24) << "GRPY:" << m_grpy << "\n"
344 << pfx << std::setw(24) << "GRPZ:" << m_grpz << "\n"
345 << pfx << std::setw(24) << "FULLR:" << m_fullr << "\n"
346 << pfx << std::setw(24) << "FULLC:" << m_fullc << "\n"
347 << pfx << std::setw(24) << "MINR:" << m_minr << "\n"
348 << pfx << std::setw(24) << "MAXR:" << m_maxr << "\n"
349 << pfx << std::setw(24) << "MINC:" << m_minc << "\n"
350 << pfx << std::setw(24) << "MAXC:" << m_maxc << "\n"
351 << pfx << std::setw(24) << "IE0:" << m_ie0 << "\n"
352 << pfx << std::setw(24) << "IER:" << m_ier << "\n"
353 << pfx << std::setw(24) << "IEC:" << m_iec << "\n"
354 << pfx << std::setw(24) << "IERR:" << m_ierr << "\n"
355 << pfx << std::setw(24) << "IERC:" << m_ierc << "\n"
356 << pfx << std::setw(24) << "IECC:" << m_iecc << "\n"
357 << pfx << std::setw(24) << "IA0:" << m_ia0 << "\n"
358 << pfx << std::setw(24) << "IAR:" << m_iar << "\n"
359 << pfx << std::setw(24) << "IAC:" << m_iac << "\n"
360 << pfx << std::setw(24) << "IARR:" << m_iarr << "\n"
361 << pfx << std::setw(24) << "IARC:" << m_iarc << "\n"
362 << pfx << std::setw(24) << "IACC:" << m_iacc << "\n"
363 << pfx << std::setw(24) << "SPX:" << m_spx << "\n"
364 << pfx << std::setw(24) << "SVX:" << m_svx << "\n"
365 << pfx << std::setw(24) << "SAX:" << m_sax << "\n"
366 << pfx << std::setw(24) << "SPY:" << m_spy << "\n"
367 << pfx << std::setw(24) << "SVY:" << m_svy << "\n"
368 << pfx << std::setw(24) << "SAY:" << m_say << "\n"
369 << pfx << std::setw(24) << "SPZ:" << m_spz << "\n"
370 << pfx << std::setw(24) << "SVZ:" << m_svz << "\n"
371 << pfx << std::setw(24) << "SAZ:" << m_saz << "\n";
372
373 return out;
374 }
375
clearFields()376 void ossimNitfRsmidaTag::clearFields()
377 {
378 memset(m_iid,' ', IID_SIZE);
379 memset(m_edition, ' ', EDITION_SIZE);
380 memset(m_isid, ' ', ISID_SIZE);
381 memset(m_sid, ' ', SID_SIZE);
382 memset(m_stid, ' ', STID_SIZE);
383 memset(m_year, ' ', YEAR_SIZE);
384 memset(m_month, ' ', MONTH_SIZE);
385 memset(m_day, ' ', DAY_SIZE);
386 memset(m_hour,' ', HOUR_SIZE);
387 memset(m_minute, ' ', MINUTE_SIZE);
388 memset(m_second, ' ', SECOND_SIZE);
389 memset(m_nrg, ' ', NRG_SIZE);
390 memset(m_ncg, ' ', NCG_SIZE);
391 memset(m_trg, ' ', FLOAT21_SIZE);
392 memset(m_tcg, ' ', FLOAT21_SIZE);
393 memset(m_grndd, ' ', GRNDD_SIZE);
394 memset(m_xuor, ' ', FLOAT21_SIZE);
395 memset(m_yuor, ' ', FLOAT21_SIZE);
396 memset(m_zuor, ' ', FLOAT21_SIZE);
397 memset(m_xuxr, ' ', FLOAT21_SIZE);
398 memset(m_xuyr, ' ', FLOAT21_SIZE);
399 memset(m_xuzr, ' ', FLOAT21_SIZE);
400 memset(m_yuxr, ' ', FLOAT21_SIZE);
401 memset(m_yuyr, ' ', FLOAT21_SIZE);
402 memset(m_yuzr, ' ', FLOAT21_SIZE);
403 memset(m_zuxr, ' ', FLOAT21_SIZE);
404 memset(m_zuyr, ' ', FLOAT21_SIZE);
405 memset(m_zuzr, ' ', FLOAT21_SIZE);
406 memset(m_v1x, ' ', FLOAT21_SIZE);
407 memset(m_v1y, ' ', FLOAT21_SIZE);
408 memset(m_v1z, ' ', FLOAT21_SIZE);
409 memset(m_v2x, ' ', FLOAT21_SIZE);
410 memset(m_v2y, ' ', FLOAT21_SIZE);
411 memset(m_v2z, ' ', FLOAT21_SIZE);
412 memset(m_v3x, ' ', FLOAT21_SIZE);
413 memset(m_v3y, ' ', FLOAT21_SIZE);
414 memset(m_v3z, ' ', FLOAT21_SIZE);
415 memset(m_v4x, ' ', FLOAT21_SIZE);
416 memset(m_v4y, ' ', FLOAT21_SIZE);
417 memset(m_v4z, ' ', FLOAT21_SIZE);
418 memset(m_v5x, ' ', FLOAT21_SIZE);
419 memset(m_v5y, ' ', FLOAT21_SIZE);
420 memset(m_v5z, ' ', FLOAT21_SIZE);
421 memset(m_v6x, ' ', FLOAT21_SIZE);
422 memset(m_v6y, ' ', FLOAT21_SIZE);
423 memset(m_v6z, ' ', FLOAT21_SIZE);
424 memset(m_v7x, ' ', FLOAT21_SIZE);
425 memset(m_v7y, ' ', FLOAT21_SIZE);
426 memset(m_v7z, ' ', FLOAT21_SIZE);
427 memset(m_v8x, ' ', FLOAT21_SIZE);
428 memset(m_v8y, ' ', FLOAT21_SIZE);
429 memset(m_v8z, ' ', FLOAT21_SIZE);
430 memset(m_grpx, ' ', FLOAT21_SIZE);
431 memset(m_grpy, ' ', FLOAT21_SIZE);
432 memset(m_grpz, ' ', FLOAT21_SIZE);
433 memset(m_fullr, ' ', FULL_SIZE);
434 memset(m_fullc, ' ', FULL_SIZE);
435 memset(m_minr, ' ', MIN_SIZE);
436 memset(m_maxr, ' ', MAX_SIZE);
437 memset(m_minc, ' ', MIN_SIZE);
438 memset(m_maxc, ' ', MAX_SIZE);
439 memset(m_ie0, ' ', FLOAT21_SIZE);
440 memset(m_ier, ' ', FLOAT21_SIZE);
441 memset(m_iec, ' ', FLOAT21_SIZE);
442 memset(m_ierr, ' ', FLOAT21_SIZE);
443 memset(m_ierc, ' ', FLOAT21_SIZE);
444 memset(m_iecc, ' ', FLOAT21_SIZE);
445 memset(m_ia0, ' ', FLOAT21_SIZE);
446 memset(m_iar, ' ', FLOAT21_SIZE);
447 memset(m_iac, ' ', FLOAT21_SIZE);
448 memset(m_iarr, ' ', FLOAT21_SIZE);
449 memset(m_iarc, ' ', FLOAT21_SIZE);
450 memset(m_iacc, ' ', FLOAT21_SIZE);
451 memset(m_spx, ' ', FLOAT21_SIZE);
452 memset(m_svx, ' ', FLOAT21_SIZE);
453 memset(m_sax, ' ', FLOAT21_SIZE);
454 memset(m_spy, ' ', FLOAT21_SIZE);
455 memset(m_svy, ' ', FLOAT21_SIZE);
456 memset(m_say, ' ', FLOAT21_SIZE);
457 memset(m_spz, ' ', FLOAT21_SIZE);
458 memset(m_svz, ' ', FLOAT21_SIZE);
459 memset(m_saz, ' ', FLOAT21_SIZE);
460
461 m_iid[IID_SIZE] = '\0';
462 m_edition[EDITION_SIZE] = '\0';
463 m_isid[ISID_SIZE] = '\0';
464 m_sid[SID_SIZE] = '\0';
465 m_stid[STID_SIZE] = '\0';
466 m_year[YEAR_SIZE] = '\0';
467 m_month[MONTH_SIZE] = '\0';
468 m_day[DAY_SIZE] = '\0';
469 m_hour[HOUR_SIZE] = '\0';
470 m_minute[MINUTE_SIZE] = '\0';
471 m_second[SECOND_SIZE] = '\0';
472 m_nrg[NRG_SIZE] = '\0';
473 m_ncg[NCG_SIZE] = '\0';
474 m_trg[FLOAT21_SIZE] = '\0';
475 m_tcg[FLOAT21_SIZE] = '\0';
476 m_grndd[GRNDD_SIZE] = '\0';
477 m_xuor[FLOAT21_SIZE] = '\0';
478 m_yuor[FLOAT21_SIZE] = '\0';
479 m_zuor[FLOAT21_SIZE] = '\0';
480 m_xuxr[FLOAT21_SIZE] = '\0';
481 m_xuyr[FLOAT21_SIZE] = '\0';
482 m_xuzr[FLOAT21_SIZE] = '\0';
483 m_yuxr[FLOAT21_SIZE] = '\0';
484 m_yuyr[FLOAT21_SIZE] = '\0';
485 m_yuzr[FLOAT21_SIZE] = '\0';
486 m_zuxr[FLOAT21_SIZE] = '\0';
487 m_zuyr[FLOAT21_SIZE] = '\0';
488 m_zuzr[FLOAT21_SIZE] = '\0';
489 m_v1x[FLOAT21_SIZE] = '\0';
490 m_v1y[FLOAT21_SIZE] = '\0';
491 m_v1z[FLOAT21_SIZE] = '\0';
492 m_v2x[FLOAT21_SIZE] = '\0';
493 m_v2y[FLOAT21_SIZE] = '\0';
494 m_v2z[FLOAT21_SIZE] = '\0';
495 m_v3x[FLOAT21_SIZE] = '\0';
496 m_v3y[FLOAT21_SIZE] = '\0';
497 m_v3z[FLOAT21_SIZE] = '\0';
498 m_v4x[FLOAT21_SIZE] = '\0';
499 m_v4y[FLOAT21_SIZE] = '\0';
500 m_v4z[FLOAT21_SIZE] = '\0';
501 m_v5x[FLOAT21_SIZE] = '\0';
502 m_v5y[FLOAT21_SIZE] = '\0';
503 m_v5z[FLOAT21_SIZE] = '\0';
504 m_v6x[FLOAT21_SIZE] = '\0';
505 m_v6y[FLOAT21_SIZE] = '\0';
506 m_v6z[FLOAT21_SIZE] = '\0';
507 m_v7x[FLOAT21_SIZE] = '\0';
508 m_v7y[FLOAT21_SIZE] = '\0';
509 m_v7z[FLOAT21_SIZE] = '\0';
510 m_v8x[FLOAT21_SIZE] = '\0';
511 m_v8y[FLOAT21_SIZE] = '\0';
512 m_v8z[FLOAT21_SIZE] = '\0';
513 m_grpx[FLOAT21_SIZE] = '\0';
514 m_grpy[FLOAT21_SIZE] = '\0';
515 m_grpz[FLOAT21_SIZE] = '\0';
516 m_fullr[FULL_SIZE] = '\0';
517 m_fullc[FULL_SIZE] = '\0';
518 m_minr[MIN_SIZE] = '\0';
519 m_maxr[MAX_SIZE] = '\0';
520 m_minc[MIN_SIZE] = '\0';
521 m_maxc[MAX_SIZE] = '\0';
522 m_ie0[FLOAT21_SIZE] = '\0';
523 m_ier[FLOAT21_SIZE] = '\0';
524 m_iec[FLOAT21_SIZE] = '\0';
525 m_ierr[FLOAT21_SIZE] = '\0';
526 m_ierc[FLOAT21_SIZE] = '\0';
527 m_iecc[FLOAT21_SIZE] = '\0';
528 m_ia0[FLOAT21_SIZE] = '\0';
529 m_iar[FLOAT21_SIZE] = '\0';
530 m_iac[FLOAT21_SIZE] = '\0';
531 m_iarr[FLOAT21_SIZE] = '\0';
532 m_iarc[FLOAT21_SIZE] = '\0';
533 m_iacc[FLOAT21_SIZE] = '\0';
534 m_spx[FLOAT21_SIZE] = '\0';
535 m_svx[FLOAT21_SIZE] = '\0';
536 m_sax[FLOAT21_SIZE] = '\0';
537 m_spy[FLOAT21_SIZE] = '\0';
538 m_svy[FLOAT21_SIZE] = '\0';
539 m_say[FLOAT21_SIZE] = '\0';
540 m_spz[FLOAT21_SIZE] = '\0';
541 m_svz[FLOAT21_SIZE] = '\0';
542 m_saz[FLOAT21_SIZE] = '\0';
543 }
544
getIid() const545 ossimString ossimNitfRsmidaTag::getIid() const
546 {
547 return ossimString(m_iid);
548 }
549
getEdition() const550 ossimString ossimNitfRsmidaTag::getEdition() const
551 {
552 return ossimString(m_edition);
553 }
554
getIsid() const555 ossimString ossimNitfRsmidaTag::getIsid() const
556 {
557 return ossimString(m_isid);
558 }
559
getSid() const560 ossimString ossimNitfRsmidaTag::getSid() const
561 {
562 return ossimString(m_sid);
563 }
564
getStid() const565 ossimString ossimNitfRsmidaTag::getStid() const
566 {
567 return ossimString(m_stid);
568 }
569
getYear() const570 ossimString ossimNitfRsmidaTag::getYear() const
571 {
572 return ossimString(m_year);
573 }
574
getMonth() const575 ossimString ossimNitfRsmidaTag::getMonth() const
576 {
577 return ossimString(m_month);
578 }
579
getDay() const580 ossimString ossimNitfRsmidaTag::getDay() const
581 {
582 return ossimString(m_day);
583 }
584
getHour() const585 ossimString ossimNitfRsmidaTag::getHour() const
586 {
587 return ossimString(m_hour);
588 }
589
getMinute() const590 ossimString ossimNitfRsmidaTag::getMinute() const
591 {
592 return ossimString(m_minute);
593 }
594
getSecond() const595 ossimString ossimNitfRsmidaTag::getSecond() const
596 {
597 return ossimString(m_second);
598 }
599
getNrg() const600 ossimString ossimNitfRsmidaTag::getNrg() const
601 {
602 return ossimString(m_nrg);
603 }
604
getNcg() const605 ossimString ossimNitfRsmidaTag::getNcg() const
606 {
607 return ossimString(m_ncg);
608 }
609
getTrg() const610 ossimString ossimNitfRsmidaTag::getTrg() const
611 {
612 return ossimString(m_trg);
613 }
614
getTcg() const615 ossimString ossimNitfRsmidaTag::getTcg() const
616 {
617 return ossimString(m_tcg);
618 }
619
getGrndd() const620 ossimString ossimNitfRsmidaTag::getGrndd() const
621 {
622 return ossimString(m_grndd);
623 }
624
getXuor() const625 ossimString ossimNitfRsmidaTag::getXuor() const
626 {
627 return ossimString(m_xuor);
628 }
629
getYuor() const630 ossimString ossimNitfRsmidaTag::getYuor() const
631 {
632 return ossimString(m_yuor);
633 }
634
getZuor() const635 ossimString ossimNitfRsmidaTag::getZuor() const
636 {
637 return ossimString(m_zuor);
638 }
639
getXuxr() const640 ossimString ossimNitfRsmidaTag::getXuxr() const
641 {
642 return ossimString(m_xuxr);
643 }
644
getXuyr() const645 ossimString ossimNitfRsmidaTag::getXuyr() const
646 {
647 return ossimString(m_xuyr);
648 }
649
getXuzr() const650 ossimString ossimNitfRsmidaTag::getXuzr() const
651 {
652 return ossimString(m_xuzr);
653 }
654
getYuxr() const655 ossimString ossimNitfRsmidaTag::getYuxr() const
656 {
657 return ossimString(m_yuxr);
658 }
659
getYuyr() const660 ossimString ossimNitfRsmidaTag::getYuyr() const
661 {
662 return ossimString(m_yuyr);
663 }
664
getYuzr() const665 ossimString ossimNitfRsmidaTag::getYuzr() const
666 {
667 return ossimString(m_yuzr);
668 }
669
getZuxr() const670 ossimString ossimNitfRsmidaTag::getZuxr() const
671 {
672 return ossimString(m_zuxr);
673 }
674
getZuyr() const675 ossimString ossimNitfRsmidaTag::getZuyr() const
676 {
677 return ossimString(m_zuyr);
678 }
679
getZuzr() const680 ossimString ossimNitfRsmidaTag::getZuzr() const
681 {
682 return ossimString(m_zuzr);
683 }
684
getV1x() const685 ossimString ossimNitfRsmidaTag::getV1x() const
686 {
687 return ossimString(m_v1x);
688 }
689
getV1y() const690 ossimString ossimNitfRsmidaTag::getV1y() const
691 {
692 return ossimString(m_v1y);
693 }
694
getV1z() const695 ossimString ossimNitfRsmidaTag::getV1z() const
696 {
697 return ossimString(m_v1z);
698 }
699
getV2x() const700 ossimString ossimNitfRsmidaTag::getV2x() const
701 {
702 return ossimString(m_v2x);
703 }
704
getV2y() const705 ossimString ossimNitfRsmidaTag::getV2y() const
706 {
707 return ossimString(m_v2y);
708 }
709
getV2z() const710 ossimString ossimNitfRsmidaTag::getV2z() const
711 {
712 return ossimString(m_v2z);
713 }
714
getV3x() const715 ossimString ossimNitfRsmidaTag::getV3x() const
716 {
717 return ossimString(m_v3x);
718 }
719
getV3y() const720 ossimString ossimNitfRsmidaTag::getV3y() const
721 {
722 return ossimString(m_v3y);
723 }
724
getV3z() const725 ossimString ossimNitfRsmidaTag::getV3z() const
726 {
727 return ossimString(m_v3z);
728 }
729
getV4x() const730 ossimString ossimNitfRsmidaTag::getV4x() const
731 {
732 return ossimString(m_v4x);
733 }
734
getV4y() const735 ossimString ossimNitfRsmidaTag::getV4y() const
736 {
737 return ossimString(m_v4y);
738 }
739
getV4z() const740 ossimString ossimNitfRsmidaTag::getV4z() const
741 {
742 return ossimString(m_v4z);
743 }
744
getV5x() const745 ossimString ossimNitfRsmidaTag::getV5x() const
746 {
747 return ossimString(m_v5x);
748 }
749
getV5y() const750 ossimString ossimNitfRsmidaTag::getV5y() const
751 {
752 return ossimString(m_v5y);
753 }
754
getV5z() const755 ossimString ossimNitfRsmidaTag::getV5z() const
756 {
757 return ossimString(m_v5z);
758 }
759
getV6x() const760 ossimString ossimNitfRsmidaTag::getV6x() const
761 {
762 return ossimString(m_v6x);
763 }
764
getV6y() const765 ossimString ossimNitfRsmidaTag::getV6y() const
766 {
767 return ossimString(m_v6y);
768 }
769
getV6z() const770 ossimString ossimNitfRsmidaTag::getV6z() const
771 {
772 return ossimString(m_v6z);
773 }
774
getV7x() const775 ossimString ossimNitfRsmidaTag::getV7x() const
776 {
777 return ossimString(m_v7x);
778 }
779
getV7y() const780 ossimString ossimNitfRsmidaTag::getV7y() const
781 {
782 return ossimString(m_v7y);
783 }
784
getV7z() const785 ossimString ossimNitfRsmidaTag::getV7z() const
786 {
787 return ossimString(m_v7z);
788 }
789
getV8x() const790 ossimString ossimNitfRsmidaTag::getV8x() const
791 {
792 return ossimString(m_v8x);
793 }
794
getV8y() const795 ossimString ossimNitfRsmidaTag::getV8y() const
796 {
797 return ossimString(m_v8y);
798 }
799
getV8z() const800 ossimString ossimNitfRsmidaTag::getV8z() const
801 {
802 return ossimString(m_v8z);
803 }
804
getGrpx() const805 ossimString ossimNitfRsmidaTag::getGrpx() const
806 {
807 return ossimString(m_grpx);
808 }
809
getGrpy() const810 ossimString ossimNitfRsmidaTag::getGrpy() const
811 {
812 return ossimString(m_grpy);
813 }
814
getGrpz() const815 ossimString ossimNitfRsmidaTag::getGrpz() const
816 {
817 return ossimString(m_grpz);
818 }
819
getFullr() const820 ossimString ossimNitfRsmidaTag::getFullr() const
821 {
822 return ossimString(m_fullr);
823 }
824
getFullc() const825 ossimString ossimNitfRsmidaTag::getFullc() const
826 {
827 return ossimString(m_fullc);
828 }
829
getMinr() const830 ossimString ossimNitfRsmidaTag::getMinr() const
831 {
832 return ossimString(m_minr);
833 }
834
getMaxr() const835 ossimString ossimNitfRsmidaTag::getMaxr() const
836 {
837 return ossimString(m_maxr);
838 }
839
getMinc() const840 ossimString ossimNitfRsmidaTag::getMinc() const
841 {
842 return ossimString(m_minc);
843 }
844
getMaxc() const845 ossimString ossimNitfRsmidaTag::getMaxc() const
846 {
847 return ossimString(m_maxc);
848 }
849
getIe0() const850 ossimString ossimNitfRsmidaTag::getIe0() const
851 {
852 return ossimString(m_ie0);
853 }
854
getIer() const855 ossimString ossimNitfRsmidaTag::getIer() const
856 {
857 return ossimString(m_ier);
858 }
859
getIec() const860 ossimString ossimNitfRsmidaTag::getIec() const
861 {
862 return ossimString(m_iec);
863 }
864
getIerr() const865 ossimString ossimNitfRsmidaTag::getIerr() const
866 {
867 return ossimString(m_ierr);
868 }
869
getIerc() const870 ossimString ossimNitfRsmidaTag::getIerc() const
871 {
872 return ossimString(m_ierc);
873 }
874
getIecc() const875 ossimString ossimNitfRsmidaTag::getIecc() const
876 {
877 return ossimString(m_iecc);
878 }
879
getIa0() const880 ossimString ossimNitfRsmidaTag::getIa0() const
881 {
882 return ossimString(m_ia0);
883 }
884
getIar() const885 ossimString ossimNitfRsmidaTag::getIar() const
886 {
887 return ossimString(m_iar);
888 }
889
getIac() const890 ossimString ossimNitfRsmidaTag::getIac() const
891 {
892 return ossimString(m_iac);
893 }
894
getIarr() const895 ossimString ossimNitfRsmidaTag::getIarr() const
896 {
897 return ossimString(m_iarr);
898 }
899
getIarc() const900 ossimString ossimNitfRsmidaTag::getIarc() const
901 {
902 return ossimString(m_iarc);
903 }
904
getIacc() const905 ossimString ossimNitfRsmidaTag::getIacc() const
906 {
907 return ossimString(m_iacc);
908 }
909
getSpx() const910 ossimString ossimNitfRsmidaTag::getSpx() const
911 {
912 return ossimString(m_spx);
913 }
914
getSvx() const915 ossimString ossimNitfRsmidaTag::getSvx() const
916 {
917 return ossimString(m_svx);
918 }
919
getSax() const920 ossimString ossimNitfRsmidaTag::getSax() const
921 {
922 return ossimString(m_sax);
923 }
924
getSpy() const925 ossimString ossimNitfRsmidaTag::getSpy() const
926 {
927 return ossimString(m_spy);
928 }
929
getSvy() const930 ossimString ossimNitfRsmidaTag::getSvy() const
931 {
932 return ossimString(m_svy);
933 }
934
getSay() const935 ossimString ossimNitfRsmidaTag::getSay() const
936 {
937 return ossimString(m_say);
938 }
939
getSpz() const940 ossimString ossimNitfRsmidaTag::getSpz() const
941 {
942 return ossimString(m_spz);
943 }
944
getSvz() const945 ossimString ossimNitfRsmidaTag::getSvz() const
946 {
947 return ossimString(m_svz);
948 }
949
getSaz() const950 ossimString ossimNitfRsmidaTag::getSaz() const
951 {
952 return ossimString(m_saz);
953 }
954
955