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

This class is able to read a record header. More...

#include <AlosPalsarRecordHeader.h>

Public Member Functions

 AlosPalsarRecordHeader ()
 Constructor. More...
 
 ~AlosPalsarRecordHeader ()
 Destructor. More...
 
 AlosPalsarRecordHeader (const AlosPalsarRecordHeader &rhs)
 Copy constructor. More...
 
AlosPalsarRecordHeaderoperator= (const AlosPalsarRecordHeader &rhs)
 Copy operator. More...
 
unsigned int get_rec_seq ()
 Record sequence number. More...
 
unsigned char get_rec_sub1 ()
 First record sub-type code. More...
 
unsigned char get_rec_type ()
 Record type code. More...
 
unsigned char get_rec_sub2 ()
 Second record sub-type code. More...
 
unsigned char get_rec_sub3 ()
 Third record sub-type code. More...
 
unsigned int get_length ()
 Length of this record (in bytes) More...
 

Protected Member Functions

void SwitchEndian (unsigned int &value)
 This function switch the LSB value and the MSB value of the parameter. More...
 

Protected Attributes

unsigned int _rec_seq
 Record sequence number. More...
 
unsigned char _rec_sub1
 First record sub-type code. More...
 
unsigned char _rec_type
 Record type code. More...
 
unsigned char _rec_sub2
 Second record sub-type code. More...
 
unsigned char _rec_sub3
 Third record sub-type code. More...
 
unsigned int _length
 Length of this record (in bytes) More...
 

Friends

std::ostream & operator<< (std::ostream &os, const AlosPalsarRecordHeader &data)
 This function write the RecordHeader in a stream. More...
 
std::istream & operator>> (std::istream &is, AlosPalsarRecordHeader &data)
 This function read a RecordHeader from a stream. More...
 

Detailed Description

This class is able to read a record header.

Definition at line 26 of file AlosPalsarRecordHeader.h.

Constructor & Destructor Documentation

◆ AlosPalsarRecordHeader() [1/2]

ossimplugins::AlosPalsarRecordHeader::AlosPalsarRecordHeader ( )

Constructor.

Definition at line 19 of file AlosPalsarRecordHeader.cpp.

20 {
21 }

◆ ~AlosPalsarRecordHeader()

ossimplugins::AlosPalsarRecordHeader::~AlosPalsarRecordHeader ( )

Destructor.

Definition at line 23 of file AlosPalsarRecordHeader.cpp.

24 {
25 }

◆ AlosPalsarRecordHeader() [2/2]

ossimplugins::AlosPalsarRecordHeader::AlosPalsarRecordHeader ( const AlosPalsarRecordHeader rhs)

Copy constructor.

Definition at line 51 of file AlosPalsarRecordHeader.cpp.

51  :
52  _rec_seq(rhs._rec_seq),
53  _rec_sub1(rhs._rec_sub1),
54  _rec_type(rhs._rec_type),
55  _rec_sub2(rhs._rec_sub2),
56  _rec_sub3(rhs._rec_sub3)
57 {
58 }
unsigned char _rec_sub1
First record sub-type code.
unsigned char _rec_sub2
Second record sub-type code.
unsigned char _rec_sub3
Third record sub-type code.
unsigned int _rec_seq
Record sequence number.
unsigned char _rec_type
Record type code.

Member Function Documentation

◆ get_length()

unsigned int ossimplugins::AlosPalsarRecordHeader::get_length ( )
inline

Length of this record (in bytes)

Definition at line 101 of file AlosPalsarRecordHeader.h.

References _length.

102  {
103  return _length;
104  };
unsigned int _length
Length of this record (in bytes)

◆ get_rec_seq()

unsigned int ossimplugins::AlosPalsarRecordHeader::get_rec_seq ( )
inline

Record sequence number.

Definition at line 61 of file AlosPalsarRecordHeader.h.

References _rec_seq.

62  {
63  return _rec_seq;
64  };
unsigned int _rec_seq
Record sequence number.

◆ get_rec_sub1()

unsigned char ossimplugins::AlosPalsarRecordHeader::get_rec_sub1 ( )
inline

First record sub-type code.

Definition at line 69 of file AlosPalsarRecordHeader.h.

References _rec_sub1.

70  {
71  return _rec_sub1;
72  };
unsigned char _rec_sub1
First record sub-type code.

◆ get_rec_sub2()

unsigned char ossimplugins::AlosPalsarRecordHeader::get_rec_sub2 ( )
inline

Second record sub-type code.

Definition at line 85 of file AlosPalsarRecordHeader.h.

References _rec_sub2.

86  {
87  return _rec_sub2;
88  };
unsigned char _rec_sub2
Second record sub-type code.

◆ get_rec_sub3()

unsigned char ossimplugins::AlosPalsarRecordHeader::get_rec_sub3 ( )
inline

Third record sub-type code.

Definition at line 93 of file AlosPalsarRecordHeader.h.

References _rec_sub3.

94  {
95  return _rec_sub3;
96  };
unsigned char _rec_sub3
Third record sub-type code.

◆ get_rec_type()

unsigned char ossimplugins::AlosPalsarRecordHeader::get_rec_type ( )
inline

Record type code.

Definition at line 77 of file AlosPalsarRecordHeader.h.

References _rec_type.

78  {
79  return _rec_type;
80  };
unsigned char _rec_type
Record type code.

◆ operator=()

AlosPalsarRecordHeader & ossimplugins::AlosPalsarRecordHeader::operator= ( const AlosPalsarRecordHeader rhs)

Copy operator.

Definition at line 60 of file AlosPalsarRecordHeader.cpp.

References _rec_seq, _rec_sub1, _rec_sub2, _rec_sub3, and _rec_type.

61 {
62  _rec_seq = rhs._rec_seq;
63  _rec_sub1 = rhs._rec_sub1;
64  _rec_type = rhs._rec_type;
65  _rec_sub2 = rhs._rec_sub2;
66  _rec_sub3 = rhs._rec_sub3;
67  return *this;
68 }
unsigned char _rec_sub1
First record sub-type code.
unsigned char _rec_sub2
Second record sub-type code.
unsigned char _rec_sub3
Third record sub-type code.
unsigned int _rec_seq
Record sequence number.
unsigned char _rec_type
Record type code.

◆ SwitchEndian()

void ossimplugins::AlosPalsarRecordHeader::SwitchEndian ( unsigned int &  value)
protected

This function switch the LSB value and the MSB value of the parameter.

Definition at line 70 of file AlosPalsarRecordHeader.cpp.

Referenced by ossimplugins::operator>>().

71 {
72  char buffer[4];
73  char res[4];
74 
75  memcpy(buffer, &value, 4);
76  res[0] = buffer[3];
77  res[1] = buffer[2];
78  res[2] = buffer[1];
79  res[3] = buffer[0];
80 
81  memcpy(&value, res, 4);
82 }

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const AlosPalsarRecordHeader data 
)
friend

This function write the RecordHeader in a stream.

Definition at line 27 of file AlosPalsarRecordHeader.cpp.

28 {
29  os << "record_sequence_number:" << data._rec_seq << std::endl;
30  os << "first_record_sub-type:" << (int)data._rec_sub1 << std::endl;
31  os << "record_type_code:" << (int)data._rec_type << std::endl;
32  os << "second_record_sub-type:" << (int)data._rec_sub2 << std::endl;
33  os << "third_record_sub-type:" << (int)data._rec_sub3 << std::endl;
34  os << "length:" << data._length << std::endl;
35  return os;
36 }

◆ operator>>

std::istream& operator>> ( std::istream &  is,
AlosPalsarRecordHeader data 
)
friend

This function read a RecordHeader from a stream.

Definition at line 38 of file AlosPalsarRecordHeader.cpp.

39 {
40  is.read((char*)&(data._rec_seq), 4); // TODO Change dangerous C-style cast to static cast.
41  data.SwitchEndian(data._rec_seq);
42  is.read((char*)&(data._rec_sub1), 1);
43  is.read((char*)&(data._rec_type), 1);
44  is.read((char*)&(data._rec_sub2), 1);
45  is.read((char*)&(data._rec_sub3), 1);
46  is.read((char*)&(data._length), 4);
47  data.SwitchEndian(data._length);
48  return is;
49 }

Member Data Documentation

◆ _length

unsigned int ossimplugins::AlosPalsarRecordHeader::_length
protected

Length of this record (in bytes)

Definition at line 135 of file AlosPalsarRecordHeader.h.

Referenced by get_length(), ossimplugins::operator<<(), and ossimplugins::operator>>().

◆ _rec_seq

unsigned int ossimplugins::AlosPalsarRecordHeader::_rec_seq
protected

Record sequence number.

Definition at line 115 of file AlosPalsarRecordHeader.h.

Referenced by get_rec_seq(), ossimplugins::operator<<(), operator=(), and ossimplugins::operator>>().

◆ _rec_sub1

unsigned char ossimplugins::AlosPalsarRecordHeader::_rec_sub1
protected

First record sub-type code.

Definition at line 119 of file AlosPalsarRecordHeader.h.

Referenced by get_rec_sub1(), ossimplugins::operator<<(), operator=(), and ossimplugins::operator>>().

◆ _rec_sub2

unsigned char ossimplugins::AlosPalsarRecordHeader::_rec_sub2
protected

Second record sub-type code.

Definition at line 127 of file AlosPalsarRecordHeader.h.

Referenced by get_rec_sub2(), ossimplugins::operator<<(), operator=(), and ossimplugins::operator>>().

◆ _rec_sub3

unsigned char ossimplugins::AlosPalsarRecordHeader::_rec_sub3
protected

Third record sub-type code.

Definition at line 131 of file AlosPalsarRecordHeader.h.

Referenced by get_rec_sub3(), ossimplugins::operator<<(), operator=(), and ossimplugins::operator>>().

◆ _rec_type

unsigned char ossimplugins::AlosPalsarRecordHeader::_rec_type
protected

Record type code.

Definition at line 123 of file AlosPalsarRecordHeader.h.

Referenced by get_rec_type(), ossimplugins::operator<<(), operator=(), and ossimplugins::operator>>().


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