OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfIchipbTag.cpp
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: David Burken
6 //
7 // Description: ICHIPB tag class declaration.
8 //
9 // See document STDI-0002 Table 5-2 for more info.
10 //
11 // http://164.214.2.51/ntb/baseline/docs/stdi0002/final.pdf
12 //
13 //----------------------------------------------------------------------------
14 // $Id: ossimNitfIchipbTag.cpp 22013 2012-12-19 17:37:20Z dburken $
15 
16 #include <cstring> /* for memcpy */
17 #include <iomanip>
18 #include <iostream>
19 
21 #include <ossim/base/ossimString.h>
22 #include <ossim/base/ossimDpt.h>
23 #include <ossim/base/ossimDrect.h>
26 
27 static const ossimString XFRM_FLAG_KW = "XFRM_FLAG";
28 static const ossimString SCALE_FACTOR_KW = "SCALE_FACTOR";
29 static const ossimString ANAMRPH_CORR_KW = "ANAMRPH_CORR";
30 static const ossimString SCANBLK_NUM_KW = "SCANBLK_NUM";
31 static const ossimString OP_ROW_11_KW = "OP_ROW_11";
32 static const ossimString OP_COL_11_KW = "OP_COL_11";
33 static const ossimString OP_ROW_12_KW = "OP_ROW_12";
34 static const ossimString OP_COL_12_KW = "OP_COL_12";
35 static const ossimString OP_ROW_21_KW = "OP_ROW_21";
36 static const ossimString OP_COL_21_KW = "OP_COL_21";
37 static const ossimString OP_ROW_22_KW = "OP_ROW_22";
38 static const ossimString OP_COL_22_KW = "OP_COL_22";
39 static const ossimString FI_ROW_11_KW = "FI_ROW_11";
40 static const ossimString FI_COL_11_KW = "FI_COL_11";
41 static const ossimString FI_ROW_12_KW = "FI_ROW_12";
42 static const ossimString FI_COL_12_KW = "FI_COL_12";
43 static const ossimString FI_ROW_21_KW = "FI_ROW_21";
44 static const ossimString FI_COL_21_KW = "FI_COL_21";
45 static const ossimString FI_ROW_22_KW = "FI_ROW_22";
46 static const ossimString FI_COL_22_KW = "FI_COL_22";
47 static const ossimString FI_ROW_KW = "FI_ROW";
48 static const ossimString FI_COL_KW = "FI_COL";
49 
51 
53  : ossimNitfRegisteredTag(std::string("ICHIPB"), 224)
54 {
55  clearFields();
56 }
57 
59 {
60  clearFields();
61 
62  in.read(theXfrmFlag, XFRM_FLAG_SIZE);
66  in.read(theOpRow11, OP_ROW_11_SIZE);
67  in.read(theOpCol11, OP_COL_11_SIZE);
68  in.read(theOpRow12, OP_ROW_12_SIZE);
69  in.read(theOpCol12, OP_COL_12_SIZE);
70  in.read(theOpRow21, OP_ROW_21_SIZE);
71  in.read(theOpCol21, OP_COL_21_SIZE);
72  in.read(theOpRow22, OP_ROW_22_SIZE);
73  in.read(theOpCol22, OP_COL_22_SIZE);
74  in.read(theFiRow11, FI_ROW_11_SIZE);
75  in.read(theFiCol11, FI_COL_11_SIZE);
76  in.read(theFiRow12, FI_ROW_12_SIZE);
77  in.read(theFiCol12, FI_COL_12_SIZE);
78  in.read(theFiRow21, FI_ROW_21_SIZE);
79  in.read(theFiCol21, FI_COL_21_SIZE);
80  in.read(theFiRow22, FI_ROW_22_SIZE);
81  in.read(theFiCol22, FI_COL_22_SIZE);
82  in.read(theFullImageRow, FI_ROW_SIZE);
83  in.read(theFullImageCol, FI_COL_SIZE);
84 }
85 
87 {
88  out.write(theXfrmFlag, XFRM_FLAG_SIZE);
91  out.write(theScanBlock, SCANBLK_NUM_SIZE);
92  out.write(theOpRow11, OP_ROW_11_SIZE);
93  out.write(theOpCol11, OP_COL_11_SIZE);
94  out.write(theOpRow12, OP_ROW_12_SIZE);
95  out.write(theOpCol12, OP_COL_12_SIZE);
96  out.write(theOpRow21, OP_ROW_21_SIZE);
97  out.write(theOpCol21, OP_COL_21_SIZE);
98  out.write(theOpRow22, OP_ROW_22_SIZE);
99  out.write(theOpCol22, OP_COL_22_SIZE);
100  out.write(theFiRow11, FI_ROW_11_SIZE);
101  out.write(theFiCol11, FI_COL_11_SIZE);
102  out.write(theFiRow12, FI_ROW_12_SIZE);
103  out.write(theFiCol12, FI_COL_12_SIZE);
104  out.write(theFiRow21, FI_ROW_21_SIZE);
105  out.write(theFiCol21, FI_COL_21_SIZE);
106  out.write(theFiRow22, FI_ROW_22_SIZE);
107  out.write(theFiCol22, FI_COL_22_SIZE);
108  out.write(theFullImageRow, FI_ROW_SIZE);
109  out.write(theFullImageCol, FI_COL_SIZE);
110 }
111 
113 {
114  memset(theXfrmFlag, '0', XFRM_FLAG_SIZE);
115  memset(theScaleFactor, '0', SCALE_FACTOR_SIZE);
116  memset(theAnamrphCorr, '0', ANAMRPH_CORR_SIZE);
117  memset(theScanBlock, '0', SCANBLK_NUM_SIZE);
118  memset(theOpRow11, '0', OP_ROW_11_SIZE);
119  memset(theOpCol11, '0', OP_COL_11_SIZE);
120  memset(theOpRow12, '0', OP_ROW_12_SIZE);
121  memset(theOpCol12, '0', OP_COL_12_SIZE);
122  memset(theOpRow21, '0', OP_ROW_21_SIZE);
123  memset(theOpCol21, '0', OP_COL_21_SIZE);
124  memset(theOpRow22, '0', OP_ROW_22_SIZE);
125  memset(theOpCol22, '0', OP_COL_22_SIZE);
126  memset(theFiRow11, '0', FI_ROW_11_SIZE);
127  memset(theFiCol11, '0', FI_COL_11_SIZE);
128  memset(theFiRow12, '0', FI_ROW_12_SIZE);
129  memset(theFiCol12, '0', FI_COL_12_SIZE);
130  memset(theFiRow21, '0', FI_ROW_21_SIZE);
131  memset(theFiCol21, '0', FI_COL_21_SIZE);
132  memset(theFiRow22, '0', FI_ROW_22_SIZE);
133  memset(theFiCol22, '0', FI_COL_22_SIZE);
134  memset(theFullImageRow, '0', FI_ROW_SIZE);
135  memset(theFullImageCol, '0', FI_COL_SIZE);
136 
137  theXfrmFlag[XFRM_FLAG_SIZE] = '\0';
141  theOpRow11[OP_ROW_11_SIZE] = '\0';
142  theOpCol11[OP_COL_11_SIZE] = '\0';
143  theOpRow12[OP_ROW_12_SIZE] = '\0';
144  theOpCol12[OP_COL_12_SIZE] = '\0';
145  theOpRow21[OP_ROW_21_SIZE] = '\0';
146  theOpCol21[OP_COL_21_SIZE] = '\0';
147  theOpRow22[OP_ROW_22_SIZE] = '\0';
148  theOpCol22[OP_COL_22_SIZE] = '\0';
149  theFiRow11[FI_ROW_11_SIZE] = '\0';
150  theFiCol11[FI_COL_11_SIZE] = '\0';
151  theFiRow12[FI_ROW_12_SIZE] = '\0';
152  theFiCol12[FI_COL_12_SIZE] = '\0';
153  theFiRow21[FI_ROW_21_SIZE] = '\0';
154  theFiCol21[FI_COL_21_SIZE] = '\0';
155  theFiRow22[FI_ROW_22_SIZE] = '\0';
156  theFiCol22[FI_COL_22_SIZE] = '\0';
159 }
160 
162  const std::string& prefix) const
163 {
164  std::string pfx = prefix;
165  pfx += getTagName();
166  pfx += ".";
167 
168  out << setiosflags(std::ios::left)
169  << pfx << std::setw(24) << "CETAG:"
170  << getTagName() << "\n"
171  << pfx << std::setw(24) << "CEL:"
172  << getTagLength() << "\n"
173  << pfx << std::setw(24) << "XFRM_FLAG:" << theXfrmFlag << "\n"
174  << pfx << std::setw(24) << "SCALE_FACTOR:" << theScaleFactor << "\n"
175  << pfx << std::setw(24) << "ANAMRPH_CORR:" << theAnamrphCorr << "\n"
176  << pfx << std::setw(24) << "SCANBLK_NUM:" << theScanBlock << "\n"
177  << pfx << std::setw(24) << "OP_ROW_11:" << theOpRow11 << "\n"
178  << pfx << std::setw(24) << "OP_COL_11:" << theOpCol11 << "\n"
179  << pfx << std::setw(24) << "OP_ROW_12:" << theOpRow12 << "\n"
180  << pfx << std::setw(24) << "OP_COL_12:" << theOpCol12 << "\n"
181  << pfx << std::setw(24) << "OP_ROW_21:" << theOpRow21 << "\n"
182  << pfx << std::setw(24) << "OP_COL_21:" << theOpCol21 << "\n"
183  << pfx << std::setw(24) << "OP_ROW_22:" << theOpRow22 << "\n"
184  << pfx << std::setw(24) << "OP_COL_22:" << theOpCol22 << "\n"
185  << pfx << std::setw(24) << "FI_ROW_11:" << theFiRow11 << "\n"
186  << pfx << std::setw(24) << "FI_COL_11:" << theFiCol11 << "\n"
187  << pfx << std::setw(24) << "FI_ROW_12:" << theFiRow12 << "\n"
188  << pfx << std::setw(24) << "FI_COL_12:" << theFiCol12 << "\n"
189  << pfx << std::setw(24) << "FI_ROW_21:" << theFiRow21 << "\n"
190  << pfx << std::setw(24) << "FI_COL_21:" << theFiCol21 << "\n"
191  << pfx << std::setw(24) << "FI_ROW_22:" << theFiRow22 << "\n"
192  << pfx << std::setw(24) << "FI_COL_22:" << theFiCol22 << "\n"
193  << pfx << std::setw(24) << "FI_ROW:" << theFullImageRow << "\n"
194  << pfx << std::setw(24) << "FI_COL:" << theFullImageCol
195  << std::endl;
196 
197  return out;
198 }
199 
201 {
203 }
204 
206 {
208 }
209 
211 {
213 }
214 
216 {
218 }
219 
221 {
223 }
224 
226 {
228 }
229 
231 {
233 }
234 
236 {
238 }
239 
241 {
243 }
244 
246  const
248 }
249 
251 {
253 }
254 
256 {
258 }
259 
261 {
263 }
264 
266 {
268 }
269 
271 {
273 }
274 
276 {
278 }
279 
281 {
283 }
284 
286 {
288 }
289 
291 {
293 }
294 
296 {
298 }
299 
301 {
303 }
304 
306 {
308 }
309 
310 #if 0
312 {
313  ossimDpt pt;
314 
315  pt.x = getOpCol11() - 0.5;
316  pt.y = getOpRow11() - 0.5;
317  rect.set_ul(pt);
318 
319  pt.x = getOpCol22() - 0.5;
320  pt.y = getOpRow22() - 0.5;
321  rect.set_lr(pt);
322 }
323 
325 {
326  ossimDpt pt;
327 
332 
333  pt.x = minX - 0.5;
334  pt.y = minY - 0.5;
335  rect.set_ul(pt);
336 
337  pt.x = maxX - 0.5;
338  pt.y = maxY - 0.5;
339  rect.set_lr(pt);
340 }
341 
342 void ossimNitfIchipbTag::getSubImageOffset(ossimDpt& pt) const
343 {
344  ossimDrect rect;
345 
346  getFullImageRect(rect);
347 
348  pt = rect.ul();
349 }
350 #endif
351 
353 {
362 }
363 
365 {
367 }
368 
370 {
371  ossimProperty* result = 0;
372 
373  if(name == XFRM_FLAG_KW)
374  {
375  result = new ossimStringProperty(name, theXfrmFlag);
376  }
377  else if(name == SCALE_FACTOR_KW)
378  {
379  result = new ossimStringProperty(name, theScaleFactor);
380  }
381  else if(name == ANAMRPH_CORR_KW)
382  {
383  result = new ossimStringProperty(name, theAnamrphCorr);
384  }
385  else if(name == SCANBLK_NUM_KW)
386  {
387  result = new ossimStringProperty(name, theScanBlock);
388  }
389  else if(name == OP_ROW_11_KW)
390  {
391  result = new ossimStringProperty(name, theOpRow11);
392  }
393  else if(name == OP_COL_11_KW)
394  {
395  result = new ossimStringProperty(name, theOpCol11);
396  }
397  else if(name == OP_ROW_12_KW)
398  {
399  result = new ossimStringProperty(name,theOpRow12 );
400  }
401  else if(name == OP_COL_12_KW)
402  {
403  result = new ossimStringProperty(name, theOpCol12);
404  }
405  else if(name == OP_ROW_21_KW)
406  {
407  result = new ossimStringProperty(name,theOpRow21);
408  }
409  else if(name == OP_COL_21_KW)
410  {
411  result = new ossimStringProperty(name, theOpCol21);
412  }
413  else if(name == OP_ROW_22_KW)
414  {
415  result = new ossimStringProperty(name, theOpRow22);
416  }
417  else if(name == OP_COL_22_KW)
418  {
419  result = new ossimStringProperty(name, theOpCol22);
420  }
421  else if(name == FI_ROW_11_KW)
422  {
423  result = new ossimStringProperty(name, theFiRow11);
424  }
425  else if(name == FI_COL_11_KW)
426  {
427  result = new ossimStringProperty(name, theFiCol11);
428  }
429  else if(name == FI_ROW_12_KW)
430  {
431  result = new ossimStringProperty(name, theFiRow12);
432  }
433  else if(name == FI_COL_12_KW)
434  {
435  result = new ossimStringProperty(name, theFiCol12);
436  }
437  else if(name == FI_ROW_21_KW)
438  {
439  result = new ossimStringProperty(name, theFiRow21);
440  }
441  else if(name == FI_COL_21_KW)
442  {
443  result = new ossimStringProperty(name, theFiCol21);
444  }
445  else if(name == FI_ROW_22_KW)
446  {
447  result = new ossimStringProperty(name, theFiRow22);
448  }
449  else if(name == FI_COL_22_KW)
450  {
451  result = new ossimStringProperty(name, theFiCol22);
452  }
453  else if(name == FI_ROW_KW)
454  {
455  result = new ossimStringProperty(name, theFullImageRow);
456  }
457  else if(name == FI_COL_KW)
458  {
459  result = new ossimStringProperty(name, theFullImageCol);
460  }
461  else
462  {
464  }
465 
466  return result;
467 }
468 
469 void ossimNitfIchipbTag::getPropertyNames(std::vector<ossimString>& propertyNames)const
470 {
472 
473  propertyNames.push_back(XFRM_FLAG_KW);
474  propertyNames.push_back(SCALE_FACTOR_KW);
475  propertyNames.push_back(ANAMRPH_CORR_KW);
476  propertyNames.push_back(SCANBLK_NUM_KW);
477  propertyNames.push_back(OP_ROW_11_KW);
478  propertyNames.push_back(OP_COL_11_KW);
479  propertyNames.push_back(OP_ROW_12_KW);
480  propertyNames.push_back(OP_COL_12_KW);
481  propertyNames.push_back(OP_ROW_21_KW);
482  propertyNames.push_back(OP_COL_21_KW);
483  propertyNames.push_back(OP_ROW_22_KW);
484  propertyNames.push_back(OP_COL_22_KW);
485  propertyNames.push_back(FI_ROW_11_KW);
486  propertyNames.push_back(FI_COL_11_KW);
487  propertyNames.push_back(FI_ROW_12_KW);
488  propertyNames.push_back(FI_COL_12_KW);
489  propertyNames.push_back(FI_ROW_21_KW);
490  propertyNames.push_back(FI_COL_21_KW);
491  propertyNames.push_back(FI_ROW_22_KW);
492  propertyNames.push_back(FI_COL_22_KW);
493  propertyNames.push_back(FI_ROW_KW);
494  propertyNames.push_back(FI_COL_KW);
495 }
496 
497 bool ossimNitfIchipbTag::loadState(const ossimKeywordlist& kwl, const char* prefix)
498 {
499  const char* lookup;
500  lookup = kwl.find(prefix, XFRM_FLAG_KW);
501  if(lookup)
502  {
503  strcpy(theXfrmFlag, lookup);
504  }
505  lookup = kwl.find(prefix, SCALE_FACTOR_KW);
506  if(lookup)
507  {
508  strcpy(theScaleFactor, lookup);
509  }
510  lookup = kwl.find(prefix, ANAMRPH_CORR_KW);
511  if(lookup)
512  {
513  strcpy(theAnamrphCorr, lookup);
514  }
515  lookup = kwl.find(prefix, SCANBLK_NUM_KW);
516  if(lookup)
517  {
518  strcpy(theScanBlock, lookup);
519  }
520  lookup = kwl.find(prefix, OP_ROW_11_KW);
521  if(lookup)
522  {
523  strcpy(theOpRow11, lookup);
524  }
525  lookup = kwl.find(prefix, OP_COL_11_KW);
526  if(lookup)
527  {
528  strcpy(theOpCol11, lookup);
529  }
530  lookup = kwl.find(prefix, OP_ROW_12_KW);
531  if(lookup)
532  {
533  strcpy(theOpRow12, lookup);
534  }
535  lookup = kwl.find(prefix, OP_COL_12_KW);
536  if(lookup)
537  {
538  strcpy(theOpCol12, lookup);
539  }
540  lookup = kwl.find(prefix, OP_ROW_21_KW);
541  if(lookup)
542  {
543  strcpy(theOpRow21, lookup);
544  }
545  lookup = kwl.find(prefix, OP_COL_21_KW);
546  if(lookup)
547  {
548  strcpy(theOpCol21, lookup);
549  }
550  lookup = kwl.find(prefix, OP_ROW_22_KW);
551  if(lookup)
552  {
553  strcpy(theOpRow22, lookup);
554  }
555  lookup = kwl.find(prefix, OP_COL_22_KW);
556  if(lookup)
557  {
558  strcpy(theOpCol22, lookup);
559  }
560  lookup = kwl.find(prefix, FI_ROW_11_KW);
561  if(lookup)
562  {
563  strcpy(theFiRow11, lookup);
564  }
565  lookup = kwl.find(prefix, FI_COL_11_KW);
566  if(lookup)
567  {
568  strcpy(theFiCol11, lookup);
569  }
570  lookup = kwl.find(prefix, FI_ROW_12_KW);
571  if(lookup)
572  {
573  strcpy(theFiRow12, lookup);
574  }
575  lookup = kwl.find(prefix, FI_COL_12_KW);
576  if(lookup)
577  {
578  strcpy(theFiCol12, lookup);
579  }
580  lookup = kwl.find(prefix, FI_ROW_21_KW);
581  if(lookup)
582  {
583  strcpy(theFiRow21, lookup);
584  }
585  lookup = kwl.find(prefix, FI_COL_21_KW);
586  if(lookup)
587  {
588  strcpy(theFiCol21, lookup);
589  }
590  lookup = kwl.find(prefix, FI_ROW_22_KW);
591  if(lookup)
592  {
593  strcpy(theFiRow22, lookup);
594  }
595  lookup = kwl.find(prefix, FI_COL_22_KW);
596  if(lookup)
597  {
598  strcpy(theFiCol22, lookup);
599  }
600  lookup = kwl.find(prefix, FI_ROW_KW);
601  if(lookup)
602  {
603  strcpy(theFullImageRow, lookup);
604  }
605  lookup = kwl.find(prefix, FI_COL_KW);
606  if(lookup)
607  {
608  strcpy(theFullImageCol, lookup);
609  }
610 
611  return true;
612 }
void set_ul(const ossimDpt &pt)
Definition: ossimDrect.h:669
char theFiCol22[FI_COL_22_SIZE+1]
FIELD: FI_COL_22.
virtual const std::string & getTagName() const
This will return the name of the registered tag for this user defined header.
ossim_float64 getOpRow22() const
ossim_uint32 getFullImageCols() const
T max(T a, T b)
Definition: ossimCommon.h:236
char theFiRow22[FI_ROW_22_SIZE+1]
FIELD: FI_ROW_22.
char theScanBlock[SCANBLK_NUM_SIZE+1]
FIELD: SCANBLK_NUM.
ossim_float64 getOpCol22() const
char theFiCol11[FI_COL_11_SIZE+1]
FIELD: FI_COL_11.
virtual std::ostream & print(std::ostream &out, const std::string &prefix=std::string()) const
Print method that outputs a key/value type format adding prefix to keys.
Represents serializable keyword/value map.
void getImageRect(ossimDrect &rect) const
Initializes rect with the image rectangle without any sub image offset applied.
const char * find(const char *key) const
const ossimDpt & ul() const
Definition: ossimDrect.h:339
double y
Definition: ossimDpt.h:165
ossim_float64 getOpRow11() const
ossim_uint32 getScanBlock() const
ossim_float64 getOpCol21() const
Output product column number component of grid point index (2,1) for intelligent data.
ossim_float64 getFiRow21() const
void getFullImageRect(ossimDrect &rect) const
Initializes rect with the image rectangle with sub image offset applied.
ossim_uint32 toUInt32() const
char theFiRow12[FI_ROW_12_SIZE+1]
FIELD: FI_ROW_12.
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
ossim_float64 getFiRow12() const
char theOpRow22[OP_ROW_22_SIZE+1]
FIELD: OP_ROW_22.
ossim_uint32 getFullImageRows() const
char theFiRow11[FI_ROW_11_SIZE+1]
FIELD: FI_ROW_11.
virtual void setProperty(ossimRefPtr< ossimProperty > property)
ossim_float64 getOpCol12() const
Output product column number component of grid point index (1,2) for intelligent data.
ossimNitfIchipbTag()
default constructor
virtual void parseStream(std::istream &in)
Parse method.
double ossim_float64
virtual ossim_uint32 getTagLength() const
Returns the length in bytes of the tag from the CEL or REL field.
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
virtual void setProperty(ossimRefPtr< ossimProperty > property)
char theOpRow11[OP_ROW_11_SIZE+1]
FIELD: OP_ROW_11.
ossim_float64 getFiCol11() const
char theOpCol11[OP_COL_11_SIZE+1]
FIELD: OP_COL_11.
bool toBool() const
String to numeric methods.
unsigned int ossim_uint32
ossim_float64 toFloat64() const
T min(T a, T b)
Definition: ossimCommon.h:203
ossim_float64 getFiCol22() const
char theFiRow21[FI_ROW_21_SIZE+1]
FIELD: FI_ROW_21.
char theAnamrphCorr[ANAMRPH_CORR_SIZE+1]
FIELD: ANAMRPH_CORR.
bool loadState(const ossimKeywordlist &kwl, const char *prefix)
char theScaleFactor[SCALE_FACTOR_SIZE+1]
FIELD: SCALE_FACTOR.
RTTI_DEF1(ossimNitfIchipbTag, "ossimNitfIchipbTag", ossimNitfRegisteredTag)
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
char theFiCol12[FI_COL_12_SIZE+1]
FIELD: FI_COL_12.
char theFiCol21[FI_COL_21_SIZE+1]
FIELD: FI_COL_21.
char theXfrmFlag[XFRM_FLAG_SIZE+1]
FIELD: XFRM_FLAG.
char theFullImageRow[FI_ROW_SIZE+1]
FIELD: FI_ROW.
char theOpRow21[OP_ROW_21_SIZE+1]
FIELD: OP_ROW_21.
char theOpCol12[OP_COL_12_SIZE+1]
FIELD: OP_COL_12.
ossim_float64 getOpRow21() const
double x
Definition: ossimDpt.h:164
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
ossim_float64 getOpRow12() const
ossim_float64 getFiRow22() const
ossim_float64 getScaleFactor() const
ossim_float64 getFiRow11() const
ossim2dTo2dTransform * newTransform() const
virtual void clearFields()
Clears all string fields within the record to some default nothingness.
ossim_float64 getFiCol12() const
ossim_float64 getOpCol11() const
Output product column number component of grid point index (1,1) for intelligent data.
ossim2dBilinearTransform allows one to specify a set of input points and output points and will fit a...
void set_lr(const ossimDpt &pt)
Definition: ossimDrect.h:689
ossim_float64 getFiCol21() const
virtual void writeStream(std::ostream &out)
Write method.
char theFullImageCol[FI_COL_SIZE+1]
FIELD: FI_COL.
char theOpCol22[OP_COL_22_SIZE+1]
FIELD: OP_COL_22.
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
char theOpCol21[OP_COL_21_SIZE+1]
FIELD: OP_COL_21.
bool getAnamrphCorrFlag() const
char theOpRow12[OP_ROW_12_SIZE+1]
FIELD: OP_ROW_12.