OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimRpfFrame.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: MIT
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Author: Garrett Potts
8 //
9 // Description: This class give the capability to access tiles from an
10 // rpf file.
11 //
12 //********************************************************************
13 // $Id: ossimRpfFrame.h 20324 2011-12-06 22:25:23Z dburken $
14 
15 #ifndef ossimRpfFrame_HEADER
16 #define ossimRpfFrame_HEADER 1
17 
19 #include <ossim/base/ossimRefPtr.h>
25 #include <iosfwd>
26 #include <vector>
27 
28 class ossimRpfHeader;
29 class ossimRpfAttributes;
37 
39 {
40 public:
42  const ossimRpfFrame& data);
43  ossimRpfFrame();
44  ~ossimRpfFrame();
45 
56  const std::string& prefix=std::string()) const;
57 
58  ossimErrorCode parseFile(const ossimFilename& filename,
59  bool minimalParse = false);
60 
61  const ossimRpfHeader* getRpfHeader()const{return theHeader;}
62 
63  bool hasSubframeMaskTable()const;
64 
65  const vector< vector<ossim_uint32> >& getSubFrameMask(
66  ossim_uint32 spectralGroup)
67  {
68  return theSubframeMaskTable[spectralGroup];
69  }
70 
71  bool fillSubFrameBuffer(ossim_uint8* buffer,
72  ossim_uint32 spectralGroup,
73  ossim_uint32 row,
74  ossim_uint32 col)const;
75 
77  {
78  return theCompressionSection;
79  }
80  const vector<ossimRpfColorGrayscaleTable>& getColorGrayscaleTable()const
81  {
82  return theColorGrayscaleTable;
83  }
85  {
86  return theColorConverterSubsection;
87  }
89  {
90  return theAttributes;
91  }
92  const ossimNitfFile* getNitfFile()const
93  {
94  return theNitfFile.get();
95  }
96 
102  ossimRefPtr<ossimRpfReplaceUpdateTable> getRpfReplaceUpdateTable() const;
103 
104 private:
105  void clearFields();
106  void deleteAll();
107  ossimErrorCode populateCoverageSection(std::istream& in);
108  ossimErrorCode populateCompressionSection(std::istream& in);
109  ossimErrorCode populateImageSection(std::istream& in);
110  ossimErrorCode populateAttributeSection(std::istream& in);
111  ossimErrorCode populateColorGrayscaleSection(std::istream& in);
112  ossimErrorCode populateMasks(std::istream& in);
113  ossimErrorCode populateReplaceUpdateTable(std::istream& in);
114 
120 
125 
130 
135 
141 
146 
152 
157 
162 
167 
171  vector<ossimRpfColorGrayscaleTable> theColorGrayscaleTable;
172 
177 
188  vector< vector< vector< ossim_uint32> > > theSubframeMaskTable;
189 
200  vector< vector< vector< ossim_uint32> > > theSubframeTransparencyMaskTable;
201 
204 
205 };
206 
207 #endif
ossimRpfColorGrayscaleSubheader * theColorGrayscaleSubheader
ossim_int32 ossimErrorCode
const ossimNitfFile * getNitfFile() const
Definition: ossimRpfFrame.h:92
ossimRefPtr< ossimRpfReplaceUpdateTable > theReplaceUpdateTable
Holds table of "replace / update" records if present.
vector< ossimRpfColorGrayscaleTable > theColorGrayscaleTable
const ossimRpfHeader * getRpfHeader() const
Definition: ossimRpfFrame.h:61
ossimReferenced allows for shared object ref counting if the reference count ever gets to 0 or less i...
ossimRpfColorConverterSubsection * theColorConverterSubsection
ossimRpfCoverageSection * theCoverage
std::ostream & print(H5::H5File *file, std::ostream &out)
Print method.
Definition: ossimH5Util.cpp:41
ossimRefPtr< ossimNitfFile > theNitfFile
ossimRpfHeader * theHeader
const vector< ossimRpfColorGrayscaleTable > & getColorGrayscaleTable() const
Definition: ossimRpfFrame.h:80
ostream & operator<<(ostream &out, const ossimAxes &axes)
Definition: ossimAxes.h:88
vector< vector< vector< ossim_uint32 > > > theSubframeMaskTable
const ossimRpfAttributes * getAttributes() const
Definition: ossimRpfFrame.h:88
unsigned int ossim_uint32
ossimRpfImageDisplayParameterSubheader * theImageDisplayParameterSubheader
vector< vector< vector< ossim_uint32 > > > theSubframeTransparencyMaskTable
ossimRpfCompressionSection * theCompressionSection
ossimFilename theFilename
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
#define OSSIM_DLL
const ossimRpfColorConverterSubsection * getColorConverterSubsection() const
Definition: ossimRpfFrame.h:84
const ossimRpfCompressionSection * getCompressionSection() const
Definition: ossimRpfFrame.h:76
ossimRpfAttributes * theAttributes
const vector< vector< ossim_uint32 > > & getSubFrameMask(ossim_uint32 spectralGroup)
Definition: ossimRpfFrame.h:65
ossimRpfMaskSubheader * theMaskSubheader
unsigned char ossim_uint8
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
ossimRpfImageDescriptionSubheader * theImageDescriptionSubheader