OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
ossimRpfColorConverterSubsection Class Reference

#include <ossimRpfColorConverterSubsection.h>

Public Member Functions

 ossimRpfColorConverterSubsection ()
 
virtual ~ossimRpfColorConverterSubsection ()
 
ossimErrorCode parseStream (ossim::istream &in, ossimByteOrder byteOrder)
 
ossim_uint32 getStartOffset () const
 
ossim_uint32 getEndOffset () const
 
const std::vector< ossimRpfColorConverterTable > & getColorConversionTable () const
 
const ossimRpfColorConverterTablegetColorConversionTable (ossim_uint32 givenThisNumberOfEntires) const
 
void setNumberOfColorConverterOffsetRecords (ossim_uint16 numberOfRecords)
 
void print (std::ostream &out) const
 
void clearFields ()
 

Private Member Functions

 ossimRpfColorConverterSubsection (const ossimRpfColorConverterSubsection &)
 
void operator= (const ossimRpfColorConverterSubsection &)
 

Private Attributes

ossim_uint32 theStartOffset
 
ossim_uint32 theEndOffset
 
ossim_uint16 theNumberOfColorConverterOffsetRecords
 
ossim_uint32 theColorConverterOffsetTableOffset
 
ossim_uint16 theColorConverterOffsetRecordLength
 
ossim_uint16 theConverterRecordLength
 
std::vector< ossimRpfColorConverterTabletheTableList
 

Friends

std::ostream & operator<< (std::ostream &out, const ossimRpfColorConverterSubsection &data)
 

Detailed Description

Definition at line 10 of file ossimRpfColorConverterSubsection.h.

Constructor & Destructor Documentation

◆ ossimRpfColorConverterSubsection() [1/2]

ossimRpfColorConverterSubsection::ossimRpfColorConverterSubsection ( )

◆ ~ossimRpfColorConverterSubsection()

virtual ossimRpfColorConverterSubsection::~ossimRpfColorConverterSubsection ( )
inlinevirtual

Definition at line 17 of file ossimRpfColorConverterSubsection.h.

17 {}

◆ ossimRpfColorConverterSubsection() [2/2]

ossimRpfColorConverterSubsection::ossimRpfColorConverterSubsection ( const ossimRpfColorConverterSubsection )
inlineprivate

Definition at line 37 of file ossimRpfColorConverterSubsection.h.

37 {}//hide

Member Function Documentation

◆ clearFields()

void ossimRpfColorConverterSubsection::clearFields ( )

◆ getColorConversionTable() [1/2]

const std::vector<ossimRpfColorConverterTable>& ossimRpfColorConverterSubsection::getColorConversionTable ( ) const
inline

Definition at line 25 of file ossimRpfColorConverterSubsection.h.

References theTableList.

26  {
27  return theTableList;
28  }
std::vector< ossimRpfColorConverterTable > theTableList

◆ getColorConversionTable() [2/2]

const ossimRpfColorConverterTable * ossimRpfColorConverterSubsection::getColorConversionTable ( ossim_uint32  givenThisNumberOfEntires) const

Definition at line 41 of file ossimRpfColorConverterSubsection.cpp.

References theTableList.

42 {
43  std::vector<ossimRpfColorConverterTable>::const_iterator listElement = theTableList.begin();
44 
45  while(listElement != theTableList.end())
46  {
47  if((*listElement).getNumberOfEntries() == givenThisNumberOfEntires)
48  {
49  return &(*listElement);
50  }
51  }
52 
53  return NULL;
54 }
std::vector< ossimRpfColorConverterTable > theTableList

◆ getEndOffset()

ossim_uint32 ossimRpfColorConverterSubsection::getEndOffset ( ) const
inline

Definition at line 23 of file ossimRpfColorConverterSubsection.h.

References theEndOffset.

◆ getStartOffset()

ossim_uint32 ossimRpfColorConverterSubsection::getStartOffset ( ) const
inline

◆ operator=()

void ossimRpfColorConverterSubsection::operator= ( const ossimRpfColorConverterSubsection )
inlineprivate

Definition at line 38 of file ossimRpfColorConverterSubsection.h.

38 {}//hide

◆ parseStream()

ossimErrorCode ossimRpfColorConverterSubsection::parseStream ( ossim::istream in,
ossimByteOrder  byteOrder 
)

Definition at line 56 of file ossimRpfColorConverterSubsection.cpp.

References ossim::byteOrder(), clearFields(), ossimEndian::getSystemEndianType(), ossimErrorCodes::OSSIM_ERROR, ossimErrorCodes::OSSIM_OK, ossimRpfColorConverterOffsetRecord::parseStream(), ossimEndian::swap(), theColorConverterOffsetRecordLength, theColorConverterOffsetTableOffset, ossimRpfColorConverterOffsetRecord::theColorConverterTableId, ossimRpfColorConverterOffsetRecord::theColorConverterTableOffset, theConverterRecordLength, theEndOffset, theNumberOfColorConverterOffsetRecords, ossimRpfColorConverterOffsetRecord::theNumberOfColorConverterRecords, theStartOffset, and theTableList.

Referenced by ossimRpfFrame::populateColorGrayscaleSection().

58 {
59  if(in)
60  {
61  clearFields();
62 
63  // this is the start of the subsection
64  theStartOffset = in.tellg();
65  in.read((char*)&theColorConverterOffsetTableOffset, 4);
66  in.read((char*)&theColorConverterOffsetRecordLength, 2);
67  in.read((char*)&theConverterRecordLength, 2);
68 
69  // this grabs the end of the subsection
70  theEndOffset = in.tellg();
71 
72  ossimEndian anEndian;
73 
74  if(anEndian.getSystemEndianType() != byteOrder)
75  {
79 
80  }
82  for(unsigned long index = 0;
84  ++index)
85  {
87 
88  if(recordInfo.parseStream(in, byteOrder) ==
90  {
91  unsigned long rememberGet = in.tellg();
92 
93  theTableList[index].setNumberOfEntries(recordInfo.theNumberOfColorConverterRecords);
94  theTableList[index].setTableId(recordInfo.theColorConverterTableId);
95  in.seekg(theStartOffset + recordInfo.theColorConverterTableOffset, std::ios_base::beg);
96  theTableList[index].parseStream(in, byteOrder);
97 
98  in.seekg(rememberGet, std::ios_base::beg);
99  }
100  else
101  {
103  }
104  }
105  }
106  else
107  {
109  }
110 
112 }
static const ossimErrorCode OSSIM_OK
ossimErrorCode parseStream(ossim::istream &in, ossimByteOrder byteOrder)
OSSIM_DLL ossimByteOrder byteOrder()
Definition: ossimCommon.cpp:54
static const ossimErrorCode OSSIM_ERROR
ossimByteOrder getSystemEndianType() const
Definition: ossimEndian.h:78
std::vector< ossimRpfColorConverterTable > theTableList
void swap(ossim_sint8 &)
Definition: ossimEndian.h:26

◆ print()

void ossimRpfColorConverterSubsection::print ( std::ostream &  out) const

Definition at line 119 of file ossimRpfColorConverterSubsection.cpp.

References theColorConverterOffsetRecordLength, theColorConverterOffsetTableOffset, theConverterRecordLength, and theTableList.

Referenced by operator<<().

120 {
121  out << "theColorConverterOffsetTableOffset: "
123  << "\ntheColorConverterOffsetRecordLength: "
125  << "\ntheConverterRecordLength: "
126  << theConverterRecordLength << "\n";
127 
128  copy(theTableList.begin(),
129  theTableList.end(),
130  std::ostream_iterator<ossimRpfColorConverterTable>(out, "\n"));
131 }
std::vector< ossimRpfColorConverterTable > theTableList

◆ setNumberOfColorConverterOffsetRecords()

void ossimRpfColorConverterSubsection::setNumberOfColorConverterOffsetRecords ( ossim_uint16  numberOfRecords)

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const ossimRpfColorConverterSubsection data 
)
friend

Definition at line 19 of file ossimRpfColorConverterSubsection.cpp.

21 {
22  data.print(out);
23  return out;
24 }

Member Data Documentation

◆ theColorConverterOffsetRecordLength

ossim_uint16 ossimRpfColorConverterSubsection::theColorConverterOffsetRecordLength
private

Definition at line 46 of file ossimRpfColorConverterSubsection.h.

Referenced by clearFields(), parseStream(), and print().

◆ theColorConverterOffsetTableOffset

ossim_uint32 ossimRpfColorConverterSubsection::theColorConverterOffsetTableOffset
private

Definition at line 45 of file ossimRpfColorConverterSubsection.h.

Referenced by clearFields(), parseStream(), and print().

◆ theConverterRecordLength

ossim_uint16 ossimRpfColorConverterSubsection::theConverterRecordLength
private

Definition at line 47 of file ossimRpfColorConverterSubsection.h.

Referenced by clearFields(), parseStream(), and print().

◆ theEndOffset

ossim_uint32 ossimRpfColorConverterSubsection::theEndOffset
private

Definition at line 41 of file ossimRpfColorConverterSubsection.h.

Referenced by getEndOffset(), and parseStream().

◆ theNumberOfColorConverterOffsetRecords

ossim_uint16 ossimRpfColorConverterSubsection::theNumberOfColorConverterOffsetRecords
private

◆ theStartOffset

ossim_uint32 ossimRpfColorConverterSubsection::theStartOffset
private

Definition at line 40 of file ossimRpfColorConverterSubsection.h.

Referenced by getStartOffset(), and parseStream().

◆ theTableList

std::vector<ossimRpfColorConverterTable> ossimRpfColorConverterSubsection::theTableList
private

The documentation for this class was generated from the following files: