44 static const ossimTrace traceDebug(
"ossimRpfFrame:debug");
58 theImageDescriptionSubheader(0),
60 theImageDisplayParameterSubheader(0),
61 theCompressionSection(0),
62 theColorGrayscaleSubheader(0),
63 theColorConverterSubsection(0),
65 theSubframeMaskTable(0),
66 theSubframeTransparencyMaskTable(0),
67 theReplaceUpdateTable(0)
80 out <<
"begin_rpf_frame_print:\n";
88 out << prefix <<
"filename: " <<
theFilename <<
"\n";
111 if ( ext.
size() > 1 )
114 out << prefix <<
"SeriesCode: " << ext.
string().substr(0, 2) <<
"\n";
153 ostream_iterator<ossimRpfColorGrayscaleTable>(out,
"\n"));
158 out <<
"Subframe Mask Table:" << endl;
159 unsigned long spectralIndex;
160 unsigned long rowIndex;
161 unsigned long colIndex;
163 for(spectralIndex = 0;
193 out <<
"Transparency Mask Table:" << endl;
194 unsigned long spectralIndex;
195 unsigned long rowIndex;
196 unsigned long colIndex;
198 for(spectralIndex = 0;
225 out <<
"end_rpf_frame_print:\n";
264 nitfFileHeader->
getTag(info,
"RPFHDR");
297 if ( minimalParse ==
false )
349 (col < theImageDescriptionSubheader->getNumberOfSubframesHorizontal()) &&
350 (row < theImageDescriptionSubheader->getNumberOfSubframesVertical()))
397 in.seekg(offset, ios::beg);
398 in.read((
char*)buffer, bytesPerSubframe);
553 in.seekg(rememberLocation, ios::beg);
606 <<
"ossimRpfFrame::populateAttributeSection: entered ..." << std::endl;
627 <<
"ossimRpfFrame::populateAttributeSection: leaving 1 ..." << std::endl;
650 <<
"DEBUG: Number of attributes = " 654 in.seekg(absoluteAddresToTable, ios::beg);
674 <<
"DEBUG: Parsing attribute number " << index
688 in.read((
char*)tempString, 8);
689 tempString[8] =
'\0';
695 in.read((
char*)tempString, 8);
696 tempString[8] =
'\0';
702 in.read((
char*)tempString, 8);
703 tempString[8] =
'\0';
709 in.read((
char*)tempString, 10);
712 in.read((
char*)tempString, 8);
715 in.read((
char*)tempString, 4);
718 in.read((
char*)tempString, 7);
725 in.read((
char*)tempString, 2);
769 in.read((
char*)tempString, 4);
776 in.read((
char*)tempString, 4);
827 in.read((
char*)tempString, 3);
834 in.read((
char*)tempString, 4);
851 in.read((
char*)tempString, 2);
917 in.read((
char*)tempString, 12);
924 in.read((
char*)tempString, 12);
925 tempString[12] =
'\0';
945 in.seekg(currentLocation, ios::beg);
954 <<
"ossimRpfFrame::populateAttributeSection: leaving 2 ..." << std::endl;
960 if(temp)
delete temp;
966 <<
"ossimRpfFrame::populateAttributeSection: leaving OK ..." << std::endl;
1008 for(spectralIndex = 0;
1026 in.read((
char*)&value, 4);
1031 anEndian.
swap(value);
1044 for(spectralIndex = 0;
1062 in.read((
char*)&value, 4);
1067 anEndian.
swap(value);
ossimRpfColorGrayscaleSubheader * theColorGrayscaleSubheader
ossim_uint16 theHorRelUnits
ossimErrorCode parseStream(ossim::istream &in, ossimByteOrder byteOrder)
ossim_int32 ossimErrorCode
ossimString theHorDatumCode
bool hasSubframeMaskTable() const
ossimErrorCode parseStream(ossim::istream &in, ossimByteOrder byteOrder)
ossimErrorCode populateColorGrayscaleSection(std::istream &in)
void addRecord(const ossimRpfReplaceUpdateRecord &record)
Method to add a record.
ossimString theSignificantDate
ossimErrorCode populateReplaceUpdateTable(std::istream &in)
ossim_uint16 theVertAbsUnits
ossimRefPtr< ossimRpfReplaceUpdateTable > theReplaceUpdateTable
Holds table of "replace / update" records if present.
static ossimString upcase(const ossimString &aString)
vector< ossimRpfColorGrayscaleTable > theColorGrayscaleTable
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.
Holds a table of RPF replace/update section subheader records.
ossimString theCurrencyDate
static const ossimErrorCode OSSIM_OK
ossimErrorCode populateAttributeSection(std::istream &in)
std::basic_ifstream< char > ifstream
Class for char input file streams.
ossim_uint32 getAttributeRecordOffset() const
ossimString theVertDatumCode
ossimErrorCode populateCompressionSection(std::istream &in)
ossim_uint32 theVertAbsAccuracy
ossimRpfColorConverterSubsection * theColorConverterSubsection
void clear()
Clears the table.
ossimRpfCoverageSection * theCoverage
ossim_uint16 getColorGrayscaleTableId() const
static const ossimErrorCode OSSIM_ERROR
ossimString theDataSource
float theWesterlyMagChange
ossimString theMapDesignationCode
unsigned short ossim_uint16
bool getComponent(ossimRpfComponentId componentId, ossimRpfComponentLocationRecord &result) const
ossimRefPtr< ossimNitfFile > theNitfFile
ossimRpfHeader * theHeader
ossimString theChartSeriesCode
ossimString theSoundingDatumCode
ossim_uint32 theHorRelAccuracy
ossim_uint32 m_componentLocation
bool fillSubFrameBuffer(ossim_uint8 *buffer, ossim_uint32 spectralGroup, ossim_uint32 row, ossim_uint32 col) const
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.
std::string::size_type size() const
vector< vector< vector< ossim_uint32 > > > theSubframeMaskTable
unsigned long long ossim_uint64
const ossimNitfFileHeader * getHeader() const
unsigned int ossim_uint32
ossim_uint32 getNumberOfColorGrayscaleRecords() const
bool getAttributeFlag(ossim_uint32 id) const
bool hasComponent(ossimRpfComponentId componentId) const
float theEeasterlyMagChange
ossimRpfImageDisplayParameterSubheader * theImageDisplayParameterSubheader
ossim_uint32 theHorAbsAccuracy
ossim_uint16 theHorAbsUnits
std::ostream & operator<<(std::ostream &out, const ossimRpfFrame &data)
ossimErrorCode populateImageSection(std::istream &in)
ossim_uint16 theGridConverUnits
vector< vector< vector< ossim_uint32 > > > theSubframeTransparencyMaskTable
ossim_uint32 theVertRelAccuracy
ossimByteOrder getSystemEndianType() const
ossimRpfCompressionSection * theCompressionSection
ossimString ellipsoidCode
ossimErrorCode populateMasks(std::istream &in)
ossimFilename theFilename
ossimErrorCode parseFile(const ossimFilename &filename, bool minimalParse=false)
ossim_uint16 theMagAngleUnits
void setAttributeFlag(ossim_uint32 id, bool flag)
std::basic_istream< char > istream
Base class for char input streams.
ossim_uint16 theHighElevationUnits
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.
ossimString theProjectionCode
ossim_uint16 theEasterlyMagChangeUnits
ossimErrorCode parseStream(std::istream &in)
Method to parse the record.
ossimString theLegendFileName
ossimString theOldHorDatum
ossimString theProductionDate
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string's contents...
ossimErrorCode populateCoverageSection(std::istream &in)
ossim_uint16 theDataLevel
ossim_uint16 theNavSystemCode
ossimRefPtr< ossimRpfReplaceUpdateTable > getRpfReplaceUpdateTable() const
ossimErrorCode parseStream(ossim::istream &in, ossimByteOrder byteOrder)
bool parseFile(const ossimFilename &file)
ossimRpfAttributes * theAttributes
ossimRpfMaskSubheader * theMaskSubheader
const unsigned long OSSIM_RPF_ULONG_NULL
void setNumberOfColorConverterOffsetRecords(ossim_uint16 numberOfRecords)
ossim_uint16 theWesterlyMagChangeUnits
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.
unsigned char ossim_uint8
ossim_uint32 getColorGrayscaleTableOffset() const
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
std::basic_ostream< char > ostream
Base class for char output streams.
RPF replace/update section subheader record.
ossim_uint16 theVertRelUnits
const std::string & string() const
ossim_uint16 getAttributeId() const
ossimRpfImageDescriptionSubheader * theImageDescriptionSubheader