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

This class represents Incidence Angles. More...

#include <IncidenceAngles.h>

Public Member Functions

 IncidenceAngles ()
 Constructor. More...
 
virtual ~IncidenceAngles ()
 Destructor. More...
 
 IncidenceAngles (const IncidenceAngles &rhs)
 Copy constructor. More...
 
IncidenceAnglesoperator= (const IncidenceAngles &rhs)
 Affectation operator. More...
 
bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 Method to save object state to a keyword list. More...
 
bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 Method to the load (recreate) the state of the object from a keyword list. More...
 
virtual std::ostream & print (std::ostream &out) const
 
void set_numberOfCornerIncidenceAngles (const ossim_uint32 &numberOfCornerIncidenceAngles)
 
void set_centerInfoIncidenceAngle (const InfoIncidenceAngle &centerInfoIncidenceAngle)
 
void set_cornersInfoIncidenceAngle (const std::vector< InfoIncidenceAngle > &cornersInfoIncidenceAngle)
 

Protected Attributes

ossim_uint32 _numberOfCornerIncidenceAngles
 Number of incidence angles. More...
 
InfoIncidenceAngle _centerInfoIncidenceAngle
 Center InfoIncidenceAngle. More...
 
std::vector< InfoIncidenceAngle_tabCornersInfoIncidenceAngle
 Corners InfoIncidenceAngle. More...
 

Detailed Description

This class represents Incidence Angles.

Definition at line 29 of file IncidenceAngles.h.

Constructor & Destructor Documentation

◆ IncidenceAngles() [1/2]

ossimplugins::IncidenceAngles::IncidenceAngles ( )

Constructor.

Definition at line 26 of file IncidenceAngles.cpp.

26  :
30 {
31 }
ossim_uint32 _numberOfCornerIncidenceAngles
Number of incidence angles.
std::vector< InfoIncidenceAngle > _tabCornersInfoIncidenceAngle
Corners InfoIncidenceAngle.
InfoIncidenceAngle _centerInfoIncidenceAngle
Center InfoIncidenceAngle.

◆ ~IncidenceAngles()

ossimplugins::IncidenceAngles::~IncidenceAngles ( )
virtual

Destructor.

Definition at line 33 of file IncidenceAngles.cpp.

34 {
35 }

◆ IncidenceAngles() [2/2]

ossimplugins::IncidenceAngles::IncidenceAngles ( const IncidenceAngles rhs)

Copy constructor.

Definition at line 38 of file IncidenceAngles.cpp.

38  :
39  _numberOfCornerIncidenceAngles(rhs._numberOfCornerIncidenceAngles),
40  _centerInfoIncidenceAngle(rhs._centerInfoIncidenceAngle),
41  _tabCornersInfoIncidenceAngle(rhs._tabCornersInfoIncidenceAngle)
42 {
43 }
ossim_uint32 _numberOfCornerIncidenceAngles
Number of incidence angles.
std::vector< InfoIncidenceAngle > _tabCornersInfoIncidenceAngle
Corners InfoIncidenceAngle.
InfoIncidenceAngle _centerInfoIncidenceAngle
Center InfoIncidenceAngle.

Member Function Documentation

◆ loadState()

bool ossimplugins::IncidenceAngles::loadState ( const ossimKeywordlist kwl,
const char *  prefix = 0 
)

Method to the load (recreate) the state of the object from a keyword list.

Return true if ok or false on error.

Returns
true if load OK, false on error

Definition at line 80 of file IncidenceAngles.cpp.

References _centerInfoIncidenceAngle, _numberOfCornerIncidenceAngles, _tabCornersInfoIncidenceAngle, ossimString::c_str(), ossimKeywordlist::find(), ossimplugins::InfoIncidenceAngle::loadState(), ossimNotify(), ossimNotifyLevel_WARN, ossimString::toString(), and ossimString::toUInt32().

81 {
82  static const char MODULE[] = "IncidenceAngles::loadState";
83 
84  bool result = true;
85 
86  ossimString s;
87  const char* lookup = 0;
88 
89  std::string pfx("");
90  if (prefix)
91  {
92  pfx = prefix;
93  }
94  pfx += INCIDENCE_ANGLES;
95  pfx += ".";
96 
97 
98  lookup = kwl.find(pfx.c_str(), NUMBER_OF_CORNER_INCIDENCE_ANGLES);
99 
100  if (lookup)
101  {
102  s = lookup;
104  }
105  else
106  {
108  << MODULE << " Keyword not found: " << NUMBER_OF_CORNER_INCIDENCE_ANGLES << " in "<<pfx.c_str()<<" path.\n";
109  result = false;
110  }
111 
112  std::string s1 = pfx + CENTER_INCIDENCE_ANGLE;
113 
114  result = _centerInfoIncidenceAngle.loadState(kwl, s1.c_str());
115 
117  std::string s2 = pfx + CORNERS_INCIDENCE_ANGLE;
118  for (unsigned int i = 0; i < _numberOfCornerIncidenceAngles; ++i)
119  {
120  std::string s3 = s2 + "[" + ossimString::toString(i).c_str() + "]";
121  InfoIncidenceAngle iia;
122  result = iia.loadState(kwl, s3.c_str());
123  _tabCornersInfoIncidenceAngle.push_back(iia);
124  }
126  {
128  << MODULE << " Keyword " << NUMBER_OF_CORNER_INCIDENCE_ANGLES << " is different with the number of ImageNoise nodes \n";
129  }
130 
131  return result;
132 }
ossim_uint32 _numberOfCornerIncidenceAngles
Number of incidence angles.
const char * find(const char *key) const
static ossimString toString(bool aValue)
Numeric to string methods.
ossim_uint32 toUInt32() const
bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of the object from a keyword list.
std::vector< InfoIncidenceAngle > _tabCornersInfoIncidenceAngle
Corners InfoIncidenceAngle.
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
InfoIncidenceAngle _centerInfoIncidenceAngle
Center InfoIncidenceAngle.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ operator=()

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

Affectation operator.

Definition at line 45 of file IncidenceAngles.cpp.

References _centerInfoIncidenceAngle, _numberOfCornerIncidenceAngles, and _tabCornersInfoIncidenceAngle.

46 {
47  _numberOfCornerIncidenceAngles = rhs._numberOfCornerIncidenceAngles;
48  _centerInfoIncidenceAngle = rhs._centerInfoIncidenceAngle;
49  _tabCornersInfoIncidenceAngle = rhs._tabCornersInfoIncidenceAngle;
50  return *this;
51 }
ossim_uint32 _numberOfCornerIncidenceAngles
Number of incidence angles.
std::vector< InfoIncidenceAngle > _tabCornersInfoIncidenceAngle
Corners InfoIncidenceAngle.
InfoIncidenceAngle _centerInfoIncidenceAngle
Center InfoIncidenceAngle.

◆ print()

std::ostream & ossimplugins::IncidenceAngles::print ( std::ostream &  out) const
virtual

METHOD: print() Fulfills base-class pure virtual. Dumps contents of object to ostream.

Definition at line 135 of file IncidenceAngles.cpp.

References _centerInfoIncidenceAngle, _numberOfCornerIncidenceAngles, _tabCornersInfoIncidenceAngle, ossimKeywordlist::add(), ossimString::c_str(), ossimplugins::InfoIncidenceAngle::saveState(), and ossimString::toString().

136 {
137  out << setprecision(15) << setiosflags(ios::fixed)
138  << "\n IncidentAngles class data members:\n";
139 
140  const char* prefix = 0;
141  ossimKeywordlist kwl;
142  ossimString pfx;
143  pfx += INCIDENCE_ANGLES;
144  ossimString s = pfx + "." + NUMBER_OF_CORNER_INCIDENCE_ANGLES;
145  kwl.add(prefix, s.c_str(), _numberOfCornerIncidenceAngles);
146 
147  ossimString s1 = pfx + "." + CENTER_INCIDENCE_ANGLE;
149 
150  ossimString s2 =pfx + "." + CORNERS_INCIDENCE_ANGLE;
151  for (unsigned int i = 0; i < _tabCornersInfoIncidenceAngle.size(); ++i)
152  {
153  ossimString s3 = s2 + "[" + ossimString::toString(i) + "]";
154  _tabCornersInfoIncidenceAngle[i].saveState(kwl, s3.c_str());
155  }
156  out << kwl;
157 
158  return out;
159 }
bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save object state to a keyword list.
Represents serializable keyword/value map.
ossim_uint32 _numberOfCornerIncidenceAngles
Number of incidence angles.
static ossimString toString(bool aValue)
Numeric to string methods.
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
std::vector< InfoIncidenceAngle > _tabCornersInfoIncidenceAngle
Corners InfoIncidenceAngle.
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
InfoIncidenceAngle _centerInfoIncidenceAngle
Center InfoIncidenceAngle.

◆ saveState()

bool ossimplugins::IncidenceAngles::saveState ( ossimKeywordlist kwl,
const char *  prefix = 0 
) const

Method to save object state to a keyword list.

Parameters
kwlKeyword list to save to.
prefixadded to keys when saved.
Returns
true on success, false on error.

Definition at line 53 of file IncidenceAngles.cpp.

References _centerInfoIncidenceAngle, _numberOfCornerIncidenceAngles, _tabCornersInfoIncidenceAngle, ossimKeywordlist::add(), ossimString::c_str(), ossimplugins::InfoIncidenceAngle::saveState(), and ossimString::toString().

54 {
55  std::string pfx("");
56  std::string pfx2("");
57  if (prefix)
58  {
59  pfx = prefix;
60  }
61  pfx += INCIDENCE_ANGLES;
62  pfx2 = pfx;
63  pfx2 += ".";
64 
65  kwl.add(pfx2.c_str(), NUMBER_OF_CORNER_INCIDENCE_ANGLES, _numberOfCornerIncidenceAngles);
66 
67  std::string s = pfx + "." + CENTER_INCIDENCE_ANGLE;
68  _centerInfoIncidenceAngle.saveState(kwl, s.c_str());
69 
70  std::string s2 =pfx + "." + CORNERS_INCIDENCE_ANGLE;
71  for (unsigned int i = 0; i < _tabCornersInfoIncidenceAngle.size(); ++i)
72  {
73  std::string s3 = s2 + "[" + ossimString::toString(i).c_str() + "]";
74  _tabCornersInfoIncidenceAngle[i].saveState(kwl, s3.c_str());
75  }
76 
77  return true;
78 }
bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save object state to a keyword list.
ossim_uint32 _numberOfCornerIncidenceAngles
Number of incidence angles.
static ossimString toString(bool aValue)
Numeric to string methods.
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
std::vector< InfoIncidenceAngle > _tabCornersInfoIncidenceAngle
Corners InfoIncidenceAngle.
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
InfoIncidenceAngle _centerInfoIncidenceAngle
Center InfoIncidenceAngle.

◆ set_centerInfoIncidenceAngle()

void ossimplugins::IncidenceAngles::set_centerInfoIncidenceAngle ( const InfoIncidenceAngle centerInfoIncidenceAngle)
inline

Definition at line 76 of file IncidenceAngles.h.

77  {
78  _centerInfoIncidenceAngle = centerInfoIncidenceAngle;
79  }
InfoIncidenceAngle _centerInfoIncidenceAngle
Center InfoIncidenceAngle.

◆ set_cornersInfoIncidenceAngle()

void ossimplugins::IncidenceAngles::set_cornersInfoIncidenceAngle ( const std::vector< InfoIncidenceAngle > &  cornersInfoIncidenceAngle)
inline

Definition at line 80 of file IncidenceAngles.h.

81  {
82  _tabCornersInfoIncidenceAngle = cornersInfoIncidenceAngle;
83  }
std::vector< InfoIncidenceAngle > _tabCornersInfoIncidenceAngle
Corners InfoIncidenceAngle.

◆ set_numberOfCornerIncidenceAngles()

void ossimplugins::IncidenceAngles::set_numberOfCornerIncidenceAngles ( const ossim_uint32 numberOfCornerIncidenceAngles)
inline

Definition at line 72 of file IncidenceAngles.h.

73  {
74  _numberOfCornerIncidenceAngles = numberOfCornerIncidenceAngles;
75  }
ossim_uint32 _numberOfCornerIncidenceAngles
Number of incidence angles.

Member Data Documentation

◆ _centerInfoIncidenceAngle

InfoIncidenceAngle ossimplugins::IncidenceAngles::_centerInfoIncidenceAngle
protected

Center InfoIncidenceAngle.

Definition at line 94 of file IncidenceAngles.h.

Referenced by loadState(), operator=(), print(), and saveState().

◆ _numberOfCornerIncidenceAngles

ossim_uint32 ossimplugins::IncidenceAngles::_numberOfCornerIncidenceAngles
protected

Number of incidence angles.

Definition at line 90 of file IncidenceAngles.h.

Referenced by loadState(), operator=(), print(), and saveState().

◆ _tabCornersInfoIncidenceAngle

std::vector<InfoIncidenceAngle> ossimplugins::IncidenceAngles::_tabCornersInfoIncidenceAngle
protected

Corners InfoIncidenceAngle.

Definition at line 98 of file IncidenceAngles.h.

Referenced by loadState(), operator=(), print(), and saveState().


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