OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimRsmpca.cpp
Go to the documentation of this file.
1 //---
2 // File: ossimRsmpca.cpp
3 //
4 // License: MIT
5 //
6 // See LICENSE.txt file in the top level directory for more details.
7 //---
8 
11 #include <ossim/base/ossimNotify.h>
13 
14 static std::string IID_KW = "iid";
15 static std::string EDITION_KW = "edition";
16 
17 static std::string RSN_KW = "rsn";
18 static std::string CSN_KW = "csn";
19 
20 static std::string RFEP_KW = "rfep";
21 static std::string CFEP_KW = "cfep";
22 
23 static std::string RNRMO_KW = "rnrmo";
24 static std::string CNRMO_KW = "cnrmo";
25 static std::string XNRMO_KW = "xnrmo";
26 static std::string YNRMO_KW = "ynrmo";
27 static std::string ZNRMO_KW = "znrmo";
28 
29 static std::string RNRMSF_KW = "rnrmsf";
30 static std::string CNRMSF_KW = "cnrmsf";
31 static std::string XNRMSF_KW = "xnrmsf";
32 static std::string YNRMSF_KW = "ynrmsf";
33 static std::string ZNRMSF_KW = "znrmsf";
34 
35 static std::string RNPWRX_KW = "rnpwrx";
36 static std::string RNPWRY_KW = "rnpwry";
37 static std::string RNPWRZ_KW = "rnpwrz";
38 static std::string RNTRMS_KW = "rntrms";
39 
40 static std::string RNPCF_KW = "rnpcf";
41 
42 static std::string RDPWRX_KW = "rdpwrx";
43 static std::string RDPWRY_KW = "rdpwry";
44 static std::string RDPWRZ_KW = "rdpwrz";
45 static std::string RDTRMS_KW = "rdtrms";
46 
47 static std::string RDPCF_KW = "rdpcf";
48 
49 static std::string CNPWRX_KW = "cnpwrx";
50 static std::string CNPWRY_KW = "cnpwry";
51 static std::string CNPWRZ_KW = "cnpwrz";
52 static std::string CNTRMS_KW = "cntrms";
53 
54 static std::string CNPCF_KW = "cnpcf";
55 
56 static std::string CDPWRX_KW = "cdpwrx";
57 static std::string CDPWRY_KW = "cdpwry";
58 static std::string CDPWRZ_KW = "cdpwrz";
59 static std::string CDTRMS_KW = "cdtrms";
60 
61 static std::string CDPCF_KW = "cdpcf";
62 
64  :
65  m_iid(),
66  m_edition(),
67 
68  m_rsn(0),
69  m_csn(0),
70 
71  m_rfep(0.0),
72  m_cfep(0.0),
73 
74  m_rnrmo(0.0),
75  m_cnrmo(0.0),
76  m_xnrmo(0.0),
77  m_ynrmo(0.0),
78  m_znrmo(0.0),
79 
80  m_rnrmsf(0.0),
81  m_cnrmsf(0.0),
82  m_xnrmsf(0.0),
83  m_ynrmsf(0.0),
84  m_znrmsf(0.0),
85 
86  m_rnpwrx(0),
87  m_rnpwry(0),
88  m_rnpwrz(0),
89  m_rntrms(0),
90 
91  m_rnpcf(),
92 
93  m_rdpwrx(0),
94  m_rdpwry(0),
95  m_rdpwrz(0),
96  m_rdtrms(0),
97 
98  m_rdpcf(),
99 
100  m_cnpwrx(0),
101  m_cnpwry(0),
102  m_cnpwrz(0),
103  m_cntrms(0),
104 
105  m_cnpcf(),
106 
107  m_cdpwrx(0),
108  m_cdpwry(0),
109  m_cdpwrz(0),
110  m_cdtrms(0),
111 
112  m_cdpcf()
113 {
114 }
115 
117  :
118  m_iid( obj.m_iid ),
119  m_edition( obj.m_edition ),
120 
121  m_rsn( obj.m_rsn ),
122  m_csn( obj.m_csn ),
123 
124  m_rfep( obj.m_rfep ),
125  m_cfep( obj.m_cfep ),
126 
127  m_rnrmo( obj.m_rnrmo ),
128  m_cnrmo( obj.m_cnrmo ),
129  m_xnrmo( obj.m_xnrmo ),
130  m_ynrmo( obj.m_ynrmo ),
131  m_znrmo( obj.m_znrmo ),
132 
133  m_rnrmsf( obj.m_rnrmsf ),
134  m_cnrmsf( obj.m_cnrmsf ),
135  m_xnrmsf( obj.m_xnrmsf ),
136  m_ynrmsf( obj.m_ynrmsf ),
137  m_znrmsf( obj.m_znrmsf ),
138 
139  m_rnpwrx( obj.m_rnpwrx ),
140  m_rnpwry( obj.m_rnpwry ),
141  m_rnpwrz( obj.m_rnpwrz ),
142  m_rntrms( obj.m_rntrms ),
143 
144  m_rnpcf( obj.m_rnpcf ),
145 
146  m_rdpwrx( obj.m_rdpwrx ),
147  m_rdpwry( obj.m_rdpwry ),
148  m_rdpwrz( obj.m_rdpwrz ),
149  m_rdtrms( obj.m_rdtrms ),
150 
151  m_rdpcf( obj.m_rdpcf ),
152 
153  m_cnpwrx( obj.m_cnpwrx ),
154  m_cnpwry( obj.m_cnpwry ),
155  m_cnpwrz( obj.m_cnpwrz ),
156  m_cntrms( obj.m_cntrms ),
157 
158  m_cnpcf( obj.m_cnpcf ),
159 
160  m_cdpwrx( obj.m_cdpwrx ),
161  m_cdpwry( obj.m_cdpwry ),
162  m_cdpwrz( obj.m_cdpwrz ),
163  m_cdtrms( obj.m_cdtrms ),
164 
165  m_cdpcf( obj.m_cdpcf )
166 {
167 }
168 
170 {
171  if (this != &rhs)
172  {
173  m_iid = rhs.m_iid;
174  m_edition = rhs.m_edition;
175 
176  m_rsn = rhs.m_rsn;
177  m_csn = rhs.m_csn;
178 
179  m_rfep = rhs.m_rfep;
180  m_cfep = rhs.m_cfep;
181 
182  m_rnrmo = rhs.m_rnrmo;
183  m_cnrmo = rhs.m_cnrmo;
184  m_xnrmo = rhs.m_xnrmo;
185  m_ynrmo = rhs.m_ynrmo;
186  m_znrmo = rhs.m_znrmo;
187 
188  m_rnrmsf = rhs.m_rnrmsf;
189  m_cnrmsf = rhs.m_cnrmsf;
190  m_xnrmsf = rhs.m_xnrmsf;
191  m_ynrmsf = rhs.m_ynrmsf;
192  m_znrmsf = rhs.m_znrmsf;
193 
194  m_rnpwrx = rhs.m_rnpwrx;
195  m_rnpwry = rhs.m_rnpwry;
196  m_rnpwrz = rhs.m_rnpwrz;
197  m_rntrms = rhs.m_rntrms;
198 
199  m_rnpcf = rhs.m_rnpcf;
200 
201  m_rdpwrx = rhs.m_rdpwrx;
202  m_rdpwry = rhs.m_rdpwry;
203  m_rdpwrz = rhs.m_rdpwrz;
204  m_rdtrms = rhs.m_rdtrms;
205 
206  m_rdpcf = rhs.m_rdpcf;
207 
208  m_cnpwrx = rhs.m_cnpwrx;
209  m_cnpwry = rhs.m_cnpwry;
210  m_cnpwrz = rhs.m_cnpwrz;
211  m_cntrms = rhs.m_cntrms;
212 
213  m_cnpcf = rhs.m_cnpcf;
214 
215  m_cdpwrx = rhs.m_cdpwrx;
216  m_cdpwry = rhs.m_cdpwry;
217  m_cdpwrz = rhs.m_cdpwrz;
218  m_cdtrms = rhs.m_cdtrms;
219 
220  m_cdpcf = rhs.m_cdpcf;
221  }
222  return *this;
223 }
224 
226  ossimKeywordlist& kwl, const std::string& prefix, ossim_uint32 index ) const
227 {
228  std::string pfx = prefix + std::string("rsmpca");
229  pfx += ossimString::toString( index ).string();
230  pfx += std::string(".");
231 
232  kwl.add( pfx.c_str(), IID_KW.c_str(), m_iid.c_str() );
233  kwl.add(pfx.c_str(), EDITION_KW.c_str(), m_edition.c_str());
234 
235  kwl.add(pfx.c_str(), RSN_KW.c_str(), m_rsn);
236  kwl.add(pfx.c_str(), CSN_KW.c_str(), m_csn);
237 
238  kwl.add(pfx.c_str(), RFEP_KW.c_str(), m_rfep);
239  kwl.add(pfx.c_str(), CFEP_KW.c_str(), m_cfep);
240 
241  kwl.add(pfx.c_str(), RNRMO_KW.c_str(), m_rnrmo);
242  kwl.add(pfx.c_str(), CNRMO_KW.c_str(), m_cnrmo);
243  kwl.add(pfx.c_str(), XNRMO_KW.c_str(), m_xnrmo);
244  kwl.add(pfx.c_str(), YNRMO_KW.c_str(), m_ynrmo);
245  kwl.add(pfx.c_str(), ZNRMO_KW.c_str(), m_znrmo);
246 
247  kwl.add(pfx.c_str(), RNRMSF_KW.c_str(), m_rnrmsf);
248  kwl.add(pfx.c_str(), CNRMSF_KW.c_str(), m_cnrmsf);
249  kwl.add(pfx.c_str(), XNRMSF_KW.c_str(), m_xnrmsf);
250  kwl.add(pfx.c_str(), YNRMSF_KW.c_str(), m_ynrmsf);
251  kwl.add(pfx.c_str(), ZNRMSF_KW.c_str(), m_znrmsf);
252 
253  kwl.add(pfx.c_str(), RNPWRX_KW.c_str(), m_rnpwrx);
254  kwl.add(pfx.c_str(), RNPWRY_KW.c_str(), m_rnpwry);
255  kwl.add(pfx.c_str(), RNPWRZ_KW.c_str(), m_rnpwrz);
256  kwl.add(pfx.c_str(), RNTRMS_KW.c_str(), m_rntrms);
257 
258  for (ossim_uint32 i=0; i<m_rntrms; ++i)
259  {
260  ossimString key;
261  key = RNPCF_KW.c_str();
262  key += ossimString::toString(i);
263  kwl.add(pfx.c_str(), key.c_str(), m_rnpcf[i]);
264  }
265 
266  kwl.add(pfx.c_str(), RDPWRX_KW.c_str(), m_rdpwrx);
267  kwl.add(pfx.c_str(), RDPWRY_KW.c_str(), m_rdpwry);
268  kwl.add(pfx.c_str(), RDPWRZ_KW.c_str(), m_rdpwrz);
269  kwl.add(pfx.c_str(), RDTRMS_KW.c_str(), m_rdtrms);
270 
271  for (ossim_uint32 i=0; i<m_rdtrms; ++i)
272  {
273 
274  ossimString key;
275  key = RDPCF_KW.c_str();
276  key += ossimString::toString(i);
277  kwl.add(pfx.c_str(), key.c_str(), m_rdpcf[i]);
278  }
279 
280  kwl.add(pfx.c_str(), CNPWRX_KW.c_str(), m_cnpwrx);
281  kwl.add(pfx.c_str(), CNPWRY_KW.c_str(), m_cnpwry);
282  kwl.add(pfx.c_str(), CNPWRZ_KW.c_str(), m_cnpwrz);
283  kwl.add(pfx.c_str(), CNTRMS_KW.c_str(), m_cntrms);
284 
285  for (ossim_uint32 i=0; i<m_cntrms; ++i)
286  {
287  ossimString key;
288  key = CNPCF_KW.c_str();
289  key += ossimString::toString(i);
290  kwl.add(pfx.c_str(), key.c_str(), m_cnpcf[i]);
291  }
292 
293  kwl.add(pfx.c_str(), CDPWRX_KW.c_str(), m_cdpwrx);
294  kwl.add(pfx.c_str(), CDPWRY_KW.c_str(), m_cdpwry);
295  kwl.add(pfx.c_str(), CDPWRZ_KW.c_str(), m_cdpwrz);
296  kwl.add(pfx.c_str(), CDTRMS_KW.c_str(), m_cdtrms);
297 
298  for (ossim_uint32 i=0; i<m_cdtrms; ++i)
299  {
300  ossimString key;
301  key = CDPCF_KW.c_str();
302  key += ossimString::toString(i);
303  kwl.add(pfx.c_str(), key.c_str(), m_cdpcf[i]);
304  }
305 
306 
307 } // End: ossimRsmpca::saveState( ... )
308 
309 
311  const std::string& prefix,
312  ossim_uint32 index )
313 {
314  std::string pfx = prefix + std::string("rsmpca");
315  pfx += ossimString::toString( index ).string();
316  pfx += std::string(".");
317 
318  std::string key;
319  std::string value;
320 
321  bool result = false; // Set to true on last key.
322 
323  while( 1 ) // Break out on error.
324  {
325  key = IID_KW;
326  value = kwl.findKey( pfx, key );
327  if ( value.size() )
328  {
329  m_iid = value;
330  }
331  else
332  {
333  break;
334  }
335 
336  key = EDITION_KW;
337  value = kwl.findKey( pfx, key );
338  if ( value.size() )
339  {
340  m_edition = value;
341  }
342  else
343  {
344  break;
345  }
346 
347  key = RSN_KW;
348  value = kwl.findKey(pfx, key);
349  if ( value.size() )
350  {
351  m_rsn = ossimString(value).toUInt32();
352  }
353  else
354  {
355  break;
356  }
357 
358  key = CSN_KW;
359  value = kwl.findKey(pfx, key);
360  if ( value.size() )
361  {
362  m_csn = ossimString(value).toUInt32();
363  }
364  else
365  {
366  break;
367  }
368 
369  key = RFEP_KW;
370  value = kwl.findKey(pfx, key);
371  if ( value.size() )
372  {
373  m_rfep = ossimString(value).toFloat64();
374  }
375  else
376  {
377  break;
378  }
379 
380  key = CFEP_KW;
381  value = kwl.findKey(pfx, key);
382  if ( value.size() )
383  {
384  m_cfep = ossimString(value).toFloat64();
385  }
386  else
387  {
388  break;
389  }
390 
391  key = RNRMO_KW;
392  value = kwl.findKey(pfx, key);
393  if ( value.size() )
394  {
395  m_rnrmo = ossimString(value).toFloat64();
396  }
397  else
398  {
399  break;
400  }
401 
402  key = CNRMO_KW;
403  value = kwl.findKey(pfx, key);
404  if ( value.size() )
405  {
406  m_cnrmo = ossimString(value).toFloat64();
407  }
408  else
409  {
410  break;
411  }
412 
413  key = XNRMO_KW;
414  value = kwl.findKey(pfx, key);
415  if ( value.size() )
416  {
417  m_xnrmo = ossimString(value).toFloat64();
418  }
419  else
420  {
421  break;
422  }
423 
424  key = YNRMO_KW;
425  value = kwl.findKey(pfx, key);
426  if ( value.size() )
427  {
428  m_ynrmo = ossimString(value).toFloat64();
429  }
430  else
431  {
432  break;
433  }
434 
435  key = ZNRMO_KW;
436  value = kwl.findKey(pfx, key);
437  if ( value.size() )
438  {
439  m_znrmo = ossimString(value).toFloat64();
440  }
441  else
442  {
443  break;
444  }
445 
446  key = RNRMSF_KW;
447  value = kwl.findKey(pfx, key);
448  if ( value.size() )
449  {
450  m_rnrmsf = ossimString(value).toFloat64();
451  }
452  else
453  {
454  break;
455  }
456 
457  key = CNRMSF_KW;
458  value = kwl.findKey(pfx, key);
459  if ( value.size() )
460  {
461  m_cnrmsf = ossimString(value).toFloat64();
462  }
463  else
464  {
465  break;
466  }
467 
468  key = XNRMSF_KW;
469  value = kwl.findKey(pfx, key);
470  if ( value.size() )
471  {
472  m_xnrmsf = ossimString(value).toFloat64();
473  }
474  else
475  {
476  break;
477  }
478 
479  key = YNRMSF_KW;
480  value = kwl.findKey(pfx, key);
481  if ( value.size() )
482  {
483  m_ynrmsf = ossimString(value).toFloat64();
484  }
485  else
486  {
487  break;
488  }
489 
490  key = ZNRMSF_KW;
491  value = kwl.findKey(pfx, key);
492  if ( value.size() )
493  {
494  m_znrmsf = ossimString(value).toFloat64();
495  }
496  else
497  {
498  break;
499  }
500 
501  key = RNPWRX_KW;
502  value = kwl.findKey(pfx, key);
503  if ( value.size() )
504  {
505  m_rnpwrx = ossimString(value).toUInt32();
506  }
507  else
508  {
509  break;
510  }
511 
512  key = RNPWRY_KW;
513  value = kwl.findKey(pfx, key);
514  if ( value.size() )
515  {
516  m_rnpwry = ossimString(value).toUInt32();
517  }
518  else
519  {
520  break;
521  }
522 
523  key = RNPWRZ_KW;
524  value = kwl.findKey(pfx, key);
525  if ( value.size() )
526  {
527  m_rnpwrz = ossimString(value).toUInt32();
528  }
529  else
530  {
531  break;
532  }
533 
534  key = RNTRMS_KW;
535  value = kwl.findKey(pfx, key);
536  if ( value.size() )
537  {
538  m_rntrms = ossimString(value).toUInt32();
539  m_rnpcf.resize(m_rntrms);
540  bool keysParsed = true; // Set to false if not found.
541  for (ossim_uint32 i=0; i<m_rntrms; ++i)
542  {
543  key = RNPCF_KW;
544  key += ossimString::toString(i).string();
545  value = kwl.findKey(pfx, key);
546  if ( !value.size() )
547  {
548  keysParsed = false;
549  break; // Break from for loop.
550  }
551  m_rnpcf[i] = ossimString(value).toFloat64();
552  }
553  if ( keysParsed == false )
554  {
555  break; // Break from while (FOREVER) loop.
556  }
557  }
558 
559  key = RDPWRX_KW;
560  value = kwl.findKey(pfx, key);
561  if ( value.size() )
562  {
563  m_rdpwrx = ossimString(value).toUInt32();
564  }
565  else
566  {
567  break;
568  }
569 
570  key = RDPWRY_KW;
571  value = kwl.findKey(pfx, key);
572  if ( value.size() )
573  {
574  m_rdpwry = ossimString(value).toUInt32();
575  }
576  else
577  {
578  break;
579  }
580 
581  key = RDPWRZ_KW;
582  value = kwl.findKey(pfx, key);
583  if ( value.size() )
584  {
585  m_rdpwrz = ossimString(value).toUInt32();
586  }
587  else
588  {
589  break;
590  }
591 
592  key = RDTRMS_KW;
593  value = kwl.findKey(pfx, key);
594  if ( value.size() )
595  {
596  m_rdtrms = ossimString(value).toUInt32();
597  m_rdpcf.resize(m_rdtrms);
598  bool keysParsed = true; // Set to false if not found.
599  for (ossim_uint32 i=0; i<m_rdtrms; ++i)
600  {
601  key = RDPCF_KW;
602  key += ossimString::toString(i).string();
603  value = kwl.findKey(pfx, key);
604  if ( !value.size() )
605  {
606  keysParsed = false;
607  break; // Break from for loop.
608  }
609  m_rdpcf[i] = ossimString(value).toFloat64();
610  }
611  if ( keysParsed == false )
612  {
613  break; // Break from while (FOREVER) loop.
614  }
615  }
616 
617  key = CNPWRX_KW;
618  value = kwl.findKey(pfx, key);
619  if ( value.size() )
620  {
621  m_cnpwrx = ossimString(value).toUInt32();
622  }
623  else
624  {
625  break;
626  }
627 
628  key = CNPWRY_KW;
629  value = kwl.findKey(pfx, key);
630  if ( value.size() )
631  {
632  m_cnpwry = ossimString(value).toUInt32();
633  }
634  else
635  {
636  break;
637  }
638 
639  key = CNPWRZ_KW;
640  value = kwl.findKey(pfx, key);
641  if ( value.size() )
642  {
643  m_cnpwrz = ossimString(value).toUInt32();
644  }
645  else
646  {
647  break;
648  }
649 
650  key = CNTRMS_KW;
651  value = kwl.findKey(pfx, key);
652  if ( value.size() )
653  {
654  m_cntrms = ossimString(value).toUInt32();
655  m_cnpcf.resize(m_cntrms);
656  bool keysParsed = true; // Set to false if not found.
657  for (ossim_uint32 i=0; i<m_cntrms; ++i)
658  {
659  key = CNPCF_KW;
660  key += ossimString::toString(i).string();
661  value = kwl.findKey(pfx, key);
662  if ( !value.size() )
663  {
664  keysParsed = false;
665  break; // Break from for loop.
666  }
667  m_cnpcf[i] = ossimString(value).toFloat64();
668  }
669  if ( keysParsed == false )
670  {
671  break; // Break from while (FOREVER) loop.
672  }
673  }
674  else
675  {
676  break;
677  }
678 
679  key = CDPWRX_KW;
680  value = kwl.findKey(pfx, key);
681  if ( value.size() )
682  {
683  m_cdpwrx = ossimString(value).toUInt32();
684  }
685  else
686  {
687  break;
688  }
689 
690  key = CDPWRY_KW;
691  value = kwl.findKey(pfx, key);
692  if ( value.size() )
693  {
694  m_cdpwry = ossimString(value).toUInt32();
695  }
696  else
697  {
698  break;
699  }
700 
701  key = CDPWRZ_KW;
702  value = kwl.findKey(pfx, key);
703  if ( value.size() )
704  {
705  m_cdpwrz = ossimString(value).toUInt32();
706  }
707  else
708  {
709  break;
710  }
711 
712  key = CDTRMS_KW;
713  value = kwl.findKey(pfx, key);
714  if ( value.size() )
715  {
716  m_cdtrms = ossimString(value).toUInt32();
717  m_cdpcf.resize(m_cdtrms);
718  bool keysParsed = true; // Set to false if not found.
719  for (ossim_uint32 i=0; i<m_cdtrms; ++i)
720  {
721  key = CDPCF_KW;
722  key += ossimString::toString(i).string();
723  value = kwl.findKey(pfx, key);
724  if ( !value.size() )
725  {
726  keysParsed = false;
727  break; // Break from for loop.
728  }
729  m_cdpcf[i] = ossimString(value).toFloat64();
730  }
731  if ( keysParsed == false )
732  {
733  break; // Break from while (FOREVER) loop.
734  }
735  }
736  else
737  {
738  break;
739  }
740 
741  // If we get here we're good, so set the status for downstream code.
742  result = true;
743 
744  // Final break from while forever loop.
745  break;
746 
747  } // Matches while( FOREVER ){ ...
748 
749  if ( result == false )
750  {
751  // Find on key failed...
753  << "ossimRsmpca::loadState WARNING:\n"
754  << "Error encountered parsing the following required keyword: "
755  << "<" << key << ">. Check the keywordlist for proper syntax."
756  << std::endl;
757  }
758 
759  return result;
760 
761 } // End: ossimRsmpca::loadState( ... )
762 
764 {
765  bool status = false;
766 
767  if ( rsmpcaTag )
768  {
769  m_iid = rsmpcaTag->getIid().trim().string();
770  m_edition = rsmpcaTag->getEdition().trim().string();
771 
772  m_rsn = rsmpcaTag->getRsn().toUInt32();
773  m_csn = rsmpcaTag->getCsn().toUInt32();
774 
775  m_rfep = rsmpcaTag->getRfep().toFloat64();
776  m_cfep = rsmpcaTag->getCfep().toFloat64();
777 
778  m_rnrmo = rsmpcaTag->getRnrmo().toFloat64();
779  m_cnrmo = rsmpcaTag->getCnrmo().toFloat64();
780  m_xnrmo = rsmpcaTag->getXnrmo().toFloat64();
781  m_ynrmo = rsmpcaTag->getYnrmo().toFloat64();
782  m_znrmo = rsmpcaTag->getZnrmo().toFloat64();
783 
784  m_rnrmsf = rsmpcaTag->getRnrmsf().toFloat64();
785  m_cnrmsf = rsmpcaTag->getCnrmsf().toFloat64();
786  m_xnrmsf = rsmpcaTag->getXnrmsf().toFloat64();
787  m_ynrmsf = rsmpcaTag->getYnrmsf().toFloat64();
788  m_znrmsf = rsmpcaTag->getZnrmsf().toFloat64();
789 
790  m_rnpwrx = rsmpcaTag->getRnpwrx().toUInt32();
791  m_rnpwry = rsmpcaTag->getRnpwry().toUInt32();
792  m_rnpwrz = rsmpcaTag->getRnpwrz().toUInt32();
793  m_rntrms = rsmpcaTag->getRntrms().toUInt32();
794  m_rnpcf.resize(m_rntrms);
795 
796  for (ossim_uint32 i = 0; i < m_rntrms; ++i)
797  {
798  m_rnpcf[i] = rsmpcaTag->getRnpcf(i).toFloat64();
799  }
800 
801  m_rdpwrx = rsmpcaTag->getRdpwrx().toUInt32();
802  m_rdpwry = rsmpcaTag->getRdpwry().toUInt32();
803  m_rdpwrz = rsmpcaTag->getRdpwrz().toUInt32();
804  m_rdtrms = rsmpcaTag->getRdtrms().toUInt32();
805  m_rdpcf.resize(m_rdtrms);
806 
807  for (ossim_uint32 i = 0; i < m_rdtrms; ++i)
808  {
809  m_rdpcf[i] = rsmpcaTag->getRdpcf(i).toFloat64();
810  }
811 
812  m_cnpwrx = rsmpcaTag->getCnpwrx().toUInt32();
813  m_cnpwry = rsmpcaTag->getCnpwry().toUInt32();
814  m_cnpwrz = rsmpcaTag->getCnpwrz().toUInt32();
815  m_cntrms = rsmpcaTag->getCntrms().toUInt32();
816  m_cnpcf.resize(m_cntrms);
817 
818  for (ossim_uint32 i = 0; i < m_cntrms; ++i)
819  {
820  m_cnpcf[i] = rsmpcaTag->getCnpcf(i).toFloat64();
821  }
822 
823  m_cdpwrx = rsmpcaTag->getCdpwrx().toUInt32();
824  m_cdpwry = rsmpcaTag->getCdpwry().toUInt32();
825  m_cdpwrz = rsmpcaTag->getCdpwrz().toUInt32();
826  m_cdtrms = rsmpcaTag->getCdtrms().toUInt32();
827  m_cdpcf.resize(m_cdtrms);
828 
829  for (ossim_uint32 i = 0; i < m_cdtrms; ++i)
830  {
831  m_cdpcf[i] = rsmpcaTag->getCdpcf(i).toFloat64();
832  }
833 
834  status = true;
835 
836  } // Matches: if ( rsmpcaTag )
837 
838  return status;
839 
840 } // End: ossimRsmpca::initializeModel( rsmpcaTag )
const ossimRsmpca & operator=(const ossimRsmpca &rhs)
assignment operator
ossimString getRnrmo() const
ossimString getCnpwrz() const
ossim_float64 m_rfep
Definition: ossimRsmpca.h:73
ossim_uint32 m_cnpwry
Definition: ossimRsmpca.h:103
ossim_float64 m_rnrmo
Definition: ossimRsmpca.h:76
ossim_float64 m_znrmo
Definition: ossimRsmpca.h:80
ossim_uint32 m_cdpwrz
Definition: ossimRsmpca.h:111
ossimString getCnrmo() const
ossimString getZnrmsf() const
Represents serializable keyword/value map.
const std::string & findKey(const std::string &key) const
Find methods that take std::string(s).
ossimString getRnpwrx() const
ossim_uint32 m_cnpwrz
Definition: ossimRsmpca.h:104
ossimString getCfep() const
ossimString getRsn() const
ossimString getXnrmsf() const
ossim_float64 m_znrmsf
Definition: ossimRsmpca.h:86
static ossimString toString(bool aValue)
Numeric to string methods.
ossimString getCdpwry() const
ossimString getRnpwry() const
ossimString getCdtrms() const
bool loadState(const ossimKeywordlist &kwl, const std::string &prefix, ossim_uint32 index)
loadState Loads state from keyword list.
ossim_uint32 toUInt32() const
ossimString getCnpcf(ossim_uint32 index) const
ossim_uint32 m_cdpwrx
Definition: ossimRsmpca.h:109
ossim_float64 m_cnrmo
Definition: ossimRsmpca.h:77
ossimString getYnrmo() const
std::vector< ossim_float64 > m_rnpcf
Definition: ossimRsmpca.h:93
ossimString getRdpwrx() const
ossimString getZnrmo() const
ossimString getCsn() const
ossimString getRdpcf(ossim_uint32 index) const
ossim_uint32 m_rdpwrz
Definition: ossimRsmpca.h:97
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
std::vector< ossim_float64 > m_cnpcf
Definition: ossimRsmpca.h:107
ossimString getCntrms() const
ossim_float64 m_xnrmo
Definition: ossimRsmpca.h:78
ossim_uint32 m_rdpwry
Definition: ossimRsmpca.h:96
ossimString getEdition() const
bool initialize(const ossimNitfRsmpcaTag *rsmpcaTag)
initialize Initializes from nitf rsmpia tag.
std::vector< ossim_float64 > m_rdpcf
Definition: ossimRsmpca.h:100
ossimString getRfep() const
ossimString getRnpcf(ossim_uint32 index) const
ossim_uint32 m_rdtrms
Definition: ossimRsmpca.h:98
unsigned int ossim_uint32
ossimString getIid() const
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.
ossim_float64 toFloat64() const
ossim_uint32 m_rnpwrz
Definition: ossimRsmpca.h:90
ossim_float64 m_rnrmsf
Definition: ossimRsmpca.h:82
ossimString getCdpcf(ossim_uint32 index) const
ossimString getYnrmsf() const
ossimString getRnrmsf() const
ossimString getRdpwrz() const
ossim_uint32 m_cdtrms
Definition: ossimRsmpca.h:112
ossimString getCnpwry() const
ossimString getRntrms() const
ossimString getXnrmo() const
ossim_uint32 m_rntrms
Definition: ossimRsmpca.h:91
ossim_uint32 m_csn
Definition: ossimRsmpca.h:71
ossim_uint32 m_cntrms
Definition: ossimRsmpca.h:105
ossim_uint32 m_rdpwrx
Definition: ossimRsmpca.h:95
return status
ossimString getCdpwrx() const
ossim_uint32 m_rnpwry
Definition: ossimRsmpca.h:89
ossim_uint32 m_cnpwrx
Definition: ossimRsmpca.h:102
ossim_uint32 m_cdpwry
Definition: ossimRsmpca.h:110
ossim_float64 m_cnrmsf
Definition: ossimRsmpca.h:83
ossimString getRdtrms() const
RSM Polynomial Coefficients: Polynomials coefficients for a section.
ossim_float64 m_ynrmo
Definition: ossimRsmpca.h:79
ossimString getCdpwrz() const
std::string m_edition
Definition: ossimRsmpca.h:68
ossim_float64 m_cfep
Definition: ossimRsmpca.h:74
ossimString getCnrmsf() const
ossim_float64 m_xnrmsf
Definition: ossimRsmpca.h:84
void saveState(ossimKeywordlist &kwl, const std::string &prefix, ossim_uint32 index) const
saveState Saves state to keyword list.
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
ossim_float64 m_ynrmsf
Definition: ossimRsmpca.h:85
ossimString getRnpwrz() const
std::string m_iid
Definition: ossimRsmpca.h:67
ossimString getRdpwry() const
ossim_uint32 m_rnpwrx
Definition: ossimRsmpca.h:88
std::vector< ossim_float64 > m_cdpcf
Definition: ossimRsmpca.h:114
ossimRsmpca()
default constructor
Definition: ossimRsmpca.cpp:63
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
ossimString getCnpwrx() const
ossim_uint32 m_rsn
Definition: ossimRsmpca.h:70
const std::string & string() const
Definition: ossimString.h:414