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

This class is able to read a Compensation data record. More...

#include <CompensationDataRecord.h>

Public Member Functions

 CompensationDataRecord ()
 Constructor. More...
 
 ~CompensationDataRecord ()
 Destructor. More...
 
 CompensationDataRecord (const CompensationDataRecord &rhs)
 Copy constructor. More...
 
CompensationDataRecordoperator= (const CompensationDataRecord &rhs)
 Copy operator. More...
 
std::string get_comp_desig ()
 Compensation data designator. More...
 
std::string get_comp_descr ()
 
Compensation data descriptor More...
 
int get_n_comp_rec ()
 
Number of compensation records More...
 
int get_comp_seq_no ()
 
Compensation record sequence number More...
 
int get_beam_tab_size ()
 
Number of beam table entries More...
 
double * get_beam_tab ()
 
Elevation gain beam profile More...
 
std::string get_beam_type ()
 
Beam type More...
 
double get_look_angle ()
 
Look angle of beam table centre More...
 
double get_beam_tab_inc ()
 
Increment between beam table entries More...
 

Protected Attributes

std::string _comp_desig
 Compensation data designator. More...
 
std::string _comp_descr
 
Compensation data descriptor More...
 
int _n_comp_rec
 
Number of compensation records More...
 
int _comp_seq_no
 
Compensation record sequence number More...
 
int _beam_tab_size
 
Number of beam table entries More...
 
double _beam_tab [256]
 
Elevation gain beam profile More...
 
std::string _beam_type
 
Beam type More...
 
double _look_angle
 
Look angle of beam table centre More...
 
double _beam_tab_inc
 
Increment between beam table entries More...
 

Friends

std::ostream & operator<< (std::ostream &os, const CompensationDataRecord &data)
 This function writes the CompensationDataRecord in a stream. More...
 
std::istream & operator>> (std::istream &is, CompensationDataRecord &data)
 This function reads a CompensationDataRecord from a stream. More...
 

Detailed Description

This class is able to read a Compensation data record.

Definition at line 26 of file CompensationDataRecord.h.

Constructor & Destructor Documentation

◆ CompensationDataRecord() [1/2]

ossimplugins::CompensationDataRecord::CompensationDataRecord ( )

Constructor.

Definition at line 16 of file CompensationDataRecord.cpp.

17 {
18 }

◆ ~CompensationDataRecord()

ossimplugins::CompensationDataRecord::~CompensationDataRecord ( )

Destructor.

Definition at line 20 of file CompensationDataRecord.cpp.

21 {
22 }

◆ CompensationDataRecord() [2/2]

ossimplugins::CompensationDataRecord::CompensationDataRecord ( const CompensationDataRecord rhs)

Copy constructor.

Definition at line 97 of file CompensationDataRecord.cpp.

References _beam_tab, _beam_tab_inc, _beam_tab_size, _beam_type, _comp_descr, _comp_desig, _comp_seq_no, _look_angle, and _n_comp_rec.

98 {
99  _comp_desig = rhs._comp_desig;
100 
101  _comp_descr = rhs._comp_descr;
102 
103  _n_comp_rec = rhs._n_comp_rec;
104 
105  _comp_seq_no = rhs._comp_seq_no;
106 
107  _beam_tab_size = rhs._beam_tab_size;
108 
109  for (int i=0;i<256;i++)
110  {
111  _beam_tab[i] = rhs._beam_tab[i];
112  }
113 
114  _beam_type = rhs._beam_type;
115 
116  _look_angle = rhs._look_angle;
117 
118  _beam_tab_inc = rhs._beam_tab_inc;
119 }
std::string _comp_descr
Compensation data descriptor
double _look_angle
Look angle of beam table centre
int _n_comp_rec
Number of compensation records
double _beam_tab_inc
Increment between beam table entries
int _comp_seq_no
Compensation record sequence number
double _beam_tab[256]
Elevation gain beam profile
int _beam_tab_size
Number of beam table entries
std::string _comp_desig
Compensation data designator.

Member Function Documentation

◆ get_beam_tab()

double* ossimplugins::CompensationDataRecord::get_beam_tab ( )
inline


Elevation gain beam profile

Definition at line 96 of file CompensationDataRecord.h.

References _beam_tab.

97  {
98  return _beam_tab;
99  };
double _beam_tab[256]
Elevation gain beam profile

◆ get_beam_tab_inc()

double ossimplugins::CompensationDataRecord::get_beam_tab_inc ( )
inline


Increment between beam table entries

Definition at line 117 of file CompensationDataRecord.h.

References _beam_tab_inc.

118  {
119  return _beam_tab_inc;
120  };
double _beam_tab_inc
Increment between beam table entries

◆ get_beam_tab_size()

int ossimplugins::CompensationDataRecord::get_beam_tab_size ( )
inline


Number of beam table entries

Definition at line 89 of file CompensationDataRecord.h.

References _beam_tab_size.

90  {
91  return _beam_tab_size;
92  };
int _beam_tab_size
Number of beam table entries

◆ get_beam_type()

std::string ossimplugins::CompensationDataRecord::get_beam_type ( )
inline


Beam type

Definition at line 103 of file CompensationDataRecord.h.

References _beam_type.

104  {
105  return _beam_type;
106  };

◆ get_comp_descr()

std::string ossimplugins::CompensationDataRecord::get_comp_descr ( )
inline


Compensation data descriptor

Definition at line 68 of file CompensationDataRecord.h.

References _comp_descr.

69  {
70  return _comp_descr;
71  };
std::string _comp_descr
Compensation data descriptor

◆ get_comp_desig()

std::string ossimplugins::CompensationDataRecord::get_comp_desig ( )
inline

Compensation data designator.

Definition at line 61 of file CompensationDataRecord.h.

References _comp_desig.

62  {
63  return _comp_desig;
64  };
std::string _comp_desig
Compensation data designator.

◆ get_comp_seq_no()

int ossimplugins::CompensationDataRecord::get_comp_seq_no ( )
inline


Compensation record sequence number

Definition at line 82 of file CompensationDataRecord.h.

References _comp_seq_no.

83  {
84  return _comp_seq_no;
85  };
int _comp_seq_no
Compensation record sequence number

◆ get_look_angle()

double ossimplugins::CompensationDataRecord::get_look_angle ( )
inline


Look angle of beam table centre

Definition at line 110 of file CompensationDataRecord.h.

References _look_angle.

111  {
112  return _look_angle;
113  };
double _look_angle
Look angle of beam table centre

◆ get_n_comp_rec()

int ossimplugins::CompensationDataRecord::get_n_comp_rec ( )
inline


Number of compensation records

Definition at line 75 of file CompensationDataRecord.h.

References _n_comp_rec.

76  {
77  return _n_comp_rec;
78  };
int _n_comp_rec
Number of compensation records

◆ operator=()

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

Copy operator.

Definition at line 121 of file CompensationDataRecord.cpp.

References _beam_tab, _beam_tab_inc, _beam_tab_size, _beam_type, _comp_descr, _comp_desig, _comp_seq_no, _look_angle, and _n_comp_rec.

122 {
123  _comp_desig = rhs._comp_desig;
124 
125  _comp_descr = rhs._comp_descr;
126 
127  _n_comp_rec = rhs._n_comp_rec;
128 
129  _comp_seq_no = rhs._comp_seq_no;
130 
131  _beam_tab_size = rhs._beam_tab_size;
132 
133  for (int i=0;i<256;i++)
134  {
135  _beam_tab[i] = rhs._beam_tab[i];
136  }
137 
138  _beam_type = rhs._beam_type;
139 
140  _look_angle = rhs._look_angle;
141 
142  _beam_tab_inc = rhs._beam_tab_inc;
143 
144  return *this;
145 }
std::string _comp_descr
Compensation data descriptor
double _look_angle
Look angle of beam table centre
int _n_comp_rec
Number of compensation records
double _beam_tab_inc
Increment between beam table entries
int _comp_seq_no
Compensation record sequence number
double _beam_tab[256]
Elevation gain beam profile
int _beam_tab_size
Number of beam table entries
std::string _comp_desig
Compensation data designator.

Friends And Related Function Documentation

◆ operator<<

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

This function writes the CompensationDataRecord in a stream.

Definition at line 24 of file CompensationDataRecord.cpp.

25 {
26  os<<"comp_desig:"<<data._comp_desig.c_str()<<std::endl;
27 
28  os<<"comp_descr:"<<data._comp_descr.c_str()<<std::endl;
29 
30  os<<"n_comp_rec:"<<data._n_comp_rec<<std::endl;
31 
32  os<<"comp_seq_no:"<<data._comp_seq_no<<std::endl;
33 
34  os<<"beam_tab_size:"<<data._beam_tab_size<<std::endl;
35 
36  for (int i=0;i<256;i++)
37  {
38  os<<"beam_tab["<<i<<"]:"<<data._beam_tab[i]<<std::endl;
39  }
40 
41  os<<"beam_type:"<<data._beam_type.c_str()<<std::endl;
42 
43  os<<"look_angle:"<<data._look_angle<<std::endl;
44 
45  os<<"beam_tab_inc:"<<data._beam_tab_inc<<std::endl;
46  return os;
47 }

◆ operator>>

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

This function reads a CompensationDataRecord from a stream.

Definition at line 49 of file CompensationDataRecord.cpp.

50 {
51  char buf[33];
52  buf[32] = '\0';
53 
54 
55  is.read(buf,8);
56  buf[8] = '\0';
57  data._comp_desig = buf;
58 
59  is.read(buf,32);
60  buf[32] = '\0';
61  data._comp_descr = buf;
62 
63  is.read(buf,4);
64  buf[4] = '\0';
65  data._n_comp_rec = atoi(buf);
66 
67  is.read(buf,4);
68  buf[4] = '\0';
69  data._comp_seq_no = atoi(buf);
70 
71  is.read(buf,8);
72  buf[8] = '\0';
73  data._beam_tab_size = atoi(buf);
74 
75  for (int i=0;i<256;i++)
76  {
77  is.read(buf,16);
78  buf[16] = '\0';
79  data._beam_tab[i] = atof(buf);
80  }
81 
82  is.read(buf,16);
83  buf[16] = '\0';
84  data._beam_type = buf;
85 
86  is.read(buf,16);
87  buf[16] = '\0';
88  data._look_angle = atof(buf);
89 
90  is.read(buf,16);
91  buf[16] = '\0';
92  data._beam_tab_inc = atof(buf);
93 
94  return is;
95 }

Member Data Documentation

◆ _beam_tab

double ossimplugins::CompensationDataRecord::_beam_tab[256]
protected


Elevation gain beam profile

Definition at line 146 of file CompensationDataRecord.h.

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

◆ _beam_tab_inc

double ossimplugins::CompensationDataRecord::_beam_tab_inc
protected


Increment between beam table entries

Definition at line 158 of file CompensationDataRecord.h.

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

◆ _beam_tab_size

int ossimplugins::CompensationDataRecord::_beam_tab_size
protected

◆ _beam_type

std::string ossimplugins::CompensationDataRecord::_beam_type
protected

◆ _comp_descr

std::string ossimplugins::CompensationDataRecord::_comp_descr
protected


Compensation data descriptor

Definition at line 130 of file CompensationDataRecord.h.

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

◆ _comp_desig

std::string ossimplugins::CompensationDataRecord::_comp_desig
protected

Compensation data designator.

Definition at line 120 of file CompensationDataRecord.h.

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

◆ _comp_seq_no

int ossimplugins::CompensationDataRecord::_comp_seq_no
protected


Compensation record sequence number

Definition at line 138 of file CompensationDataRecord.h.

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

◆ _look_angle

double ossimplugins::CompensationDataRecord::_look_angle
protected


Look angle of beam table centre

Definition at line 154 of file CompensationDataRecord.h.

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

◆ _n_comp_rec

int ossimplugins::CompensationDataRecord::_n_comp_rec
protected


Number of compensation records

Definition at line 134 of file CompensationDataRecord.h.

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


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