33 "ossimNitfImageHeaderV2_0",
96 if(numberOfComments > 0)
102 memset(comment,
' ', 80);
104 in.read(comment, 80);
121 while(idx < numberOfBands)
142 std::streampos start = in.tellg();
143 std::streampos current = in.tellg();
144 if(userDefinedDataLen > 0)
148 while((current - start) < userDefinedDataLen)
154 current = in.tellg();
161 current = in.tellg();
162 if(extSubHeadLen > 0)
167 while((current - start) < extSubHeadLen)
174 current = in.tellg();
179 compressionType = compressionType.
trim().
upcase();
191 if( (compressionType ==
"NM") ||
192 (compressionType ==
"M0") ||
193 (compressionType ==
"M3") ||
194 (compressionType ==
"M4") ||
195 ( (compressionType ==
"C4") && ( !
getImageId().contains(
"CIB")) ) )
215 in.read((
char*)(&padOutputPixelCode), 1);
244 in.read((
char*)(blockRead), totalNumber*4);
245 for(idx = 0; idx < totalNumber; ++idx)
249 endian.
swap(blockRead[idx]);
271 in.read((
char*)(blockRead), totalNumber*4);
272 for(idx = 0; idx < totalNumber; ++idx)
276 endian.
swap(blockRead[idx]);
296 compressionHeader = 0;
385 if(totalLength <= 99999)
389 tempOut << std::setw(5)
391 << std::setiosflags(ios::right)
430 const std::string& prefix)
const 432 out << setiosflags(std::ios::left)
433 << prefix << std::setw(24) <<
"IM:" 435 << prefix << std::setw(24) <<
"IID:" 437 << prefix << std::setw(24) <<
"IDATIM:" 439 << prefix << std::setw(24) <<
"TGTID:" 441 << prefix << std::setw(24) <<
"ITITLE:" 443 << prefix << std::setw(24) <<
"ISCLAS:" 445 << prefix << std::setw(24) <<
"ISCODE:" 447 << prefix << std::setw(24) <<
"ISCTLH:" 449 << prefix << std::setw(24) <<
"ISREL:" 451 << prefix << std::setw(24) <<
"ISCAUT:" 453 << prefix << std::setw(24) <<
"ISCTLN:" 455 << prefix << std::setw(24) <<
"ISDWNG:" 457 << prefix << std::setw(24) <<
"ISDEBT:" 459 << prefix << std::setw(24) <<
"ENCRYP:" 461 << prefix << std::setw(24) <<
"ISORCE:" 463 << prefix << std::setw(24) <<
"NROWS:" 465 << prefix << std::setw(24) <<
"NCOLS:" 467 << prefix << std::setw(24) <<
"PVTYPE:" 469 << prefix << std::setw(24) <<
"IREP:" 471 << prefix << std::setw(24) <<
"ICAT:" 473 << prefix << std::setw(24) <<
"ABPP:" 475 << prefix << std::setw(24) <<
"PJUST:" 477 << prefix << std::setw(24) <<
"ICORDS:" 479 << prefix << std::setw(24) <<
"IGEOLO:" 481 << prefix << std::setw(24) <<
"NICOM:" 488 out << prefix << std::setw(24) << icpre <<
theImageComments[idx].trim() <<
"\n";
490 out << prefix << std::setw(24) <<
"IC:" 492 << prefix << std::setw(24) <<
"COMRAT:" 494 << prefix << std::setw(24) <<
"NBANDS:" 505 out << prefix << std::setw(24) <<
"ISYNC:" 507 << prefix << std::setw(24) <<
"IMODE:" 509 << prefix << std::setw(24) <<
"NBPR:" 511 << prefix << std::setw(24) <<
"NBPC:" 513 << prefix << std::setw(24) <<
"NPPBH:" 515 << prefix << std::setw(24) <<
"NPPBV:" 517 << prefix << std::setw(24) <<
"NBPP:" 519 << prefix << std::setw(24) <<
"IDLVL:" 521 << prefix << std::setw(24) <<
"IALVL:" 523 << prefix << std::setw(24) <<
"ILOC:" 525 << prefix << std::setw(24) <<
"IMAG:" 527 << prefix << std::setw(24) <<
"UDIDL:" 529 << prefix << std::setw(24) <<
"UDOFL:" 531 << prefix << std::setw(24) <<
"IXSHDL:" 533 << prefix << std::setw(24) <<
"IXSOFL:" 538 out << prefix << std::setw(24) <<
"theDataLocation:" 540 << prefix << std::setw(24) <<
"theBlockedImageDataOffset:" 542 << prefix << std::setw(24) <<
"theBlockMaskRecordLength:" 544 << prefix << std::setw(24) <<
"thePadPixelMaskRecordLength:" 546 << prefix << std::setw(24) <<
"theTransparentOutputPixelCodeLength:" 548 << prefix << std::setw(24) <<
"thePadOutputPixelCode:" 590 kwl.
add(prefix, kwlTemp);
599 return ((temp !=
"NC") &&
683 else if(month ==
"feb")
687 else if(month ==
"mar")
691 else if(month ==
"apr")
695 else if(month ==
"may")
699 else if(month ==
"jun")
703 else if(month ==
"jul")
707 else if(month ==
"aug")
711 else if(month ==
"sep")
715 else if(month ==
"oct")
719 else if(month ==
"nov")
723 else if(month ==
"dec")
799 (blockNumber < maxBlock))
823 (blockNumber < maxBlock))
968 std::string s =
"ossimNitfImageHeaderV2_0::setNumberOfBands:";
969 s +=
" ERROR\nExceeded max number of bands of 9!";
970 throw std::out_of_range(s);
996 if(rows > 99999999) rows = 99999999;
1005 if(cols > 99999999) cols = 99999999;
1061 propertyNames.push_back(
CTLN_KW);
static ossimString upcase(const ossimString &aString)
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
Represents serializable keyword/value map.
static ossimString toString(bool aValue)
Numeric to string methods.
ossim_uint32 toUInt32() const
ossim_int32 toInt32() const
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
unsigned long long ossim_uint64
unsigned int ossim_uint32
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.
static ossimString downcase(const ossimString &aString)
ossimByteOrder getSystemEndianType() const
std::basic_istream< char > istream
Base class for char input streams.
virtual bool parseStream(ossim::istream &is, bool ignoreBinaryChars)
deprecated method
static void setField(void *fieldDestination, const ossimString &src, std::streamsize width, std::ios_base::fmtflags ioflags=std::ios::left, char fill=' ')
Sets a field with a given string, width, and IOS flags.
std::basic_istringstream< char > istringstream
Class for char input memory streams.
unsigned char ossim_uint8
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
std::basic_ostream< char > ostream
Base class for char output streams.