1 #ifndef ossimRpfColorConverterSubsection_HEADER
2 #define ossimRpfColorConverterSubsection_HEADER 1
3 
4 #include <ossim/base/ossimConstants.h>
5 #include <ossim/base/ossimIosFwd.h>
6 #include <ossim/base/ossimErrorContext.h>
7 #include <ossim/support_data/ossimRpfColorConverterTable.h>
8 #include <vector>
9 
10 class ossimRpfColorConverterSubsection
11 {
12 public:
13    friend std::ostream& operator <<(
14       std::ostream& out, const ossimRpfColorConverterSubsection& data);
15 
16    ossimRpfColorConverterSubsection();
~ossimRpfColorConverterSubsection()17    virtual ~ossimRpfColorConverterSubsection(){}
18 
19    ossimErrorCode parseStream(ossim::istream& in,
20                               ossimByteOrder byteOrder);
21 
getStartOffset()22    ossim_uint32 getStartOffset()const{return theStartOffset;}
getEndOffset()23    ossim_uint32 getEndOffset()const{return theEndOffset;}
24 
getColorConversionTable()25    const std::vector<ossimRpfColorConverterTable>& getColorConversionTable()const
26    {
27       return theTableList;
28    }
29    const ossimRpfColorConverterTable* getColorConversionTable(ossim_uint32 givenThisNumberOfEntires)const;
30 
31    void setNumberOfColorConverterOffsetRecords(ossim_uint16 numberOfRecords);
32    void print(std::ostream& out)const;
33 
34    void clearFields();
35 
36 private:
ossimRpfColorConverterSubsection(const ossimRpfColorConverterSubsection &)37    ossimRpfColorConverterSubsection(const ossimRpfColorConverterSubsection&){}//hide
38    void operator =(const ossimRpfColorConverterSubsection&){}//hide
39 
40    ossim_uint32  theStartOffset;
41    ossim_uint32  theEndOffset;
42 
43    ossim_uint16  theNumberOfColorConverterOffsetRecords;
44 
45    ossim_uint32  theColorConverterOffsetTableOffset;
46    ossim_uint16  theColorConverterOffsetRecordLength;
47    ossim_uint16  theConverterRecordLength;
48 
49    std::vector<ossimRpfColorConverterTable> theTableList;
50 };
51 
52 #endif
53