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

#include <ossimAdjustableParameterInfo.h>

Public Member Functions

 ossimAdjustableParameterInfo ()
 
 ossimAdjustableParameterInfo (const ossimAdjustableParameterInfo &rhs)
 
double getParameter () const
 
void setParameter (double parameter)
 
double getSigma () const
 
void setSigma (double sigma)
 
const ossimStringgetDescription () const
 
void setDescription (const ossimString &description)
 
ossimUnitType getUnit () const
 
void setUnit (ossimUnitType unit)
 
ossimString getUnitAsString () const
 
void setCenter (double center)
 
double getCenter () const
 
void setOffset (ossim_float64 value)
 
double computeOffset () const
 
void setLockFlag (bool flag)
 
bool getLockFlag () const
 
bool loadState (const ossimKeywordlist &kwl, const ossimString &prefix=ossimString(""))
 
bool saveState (ossimKeywordlist &kwl, const ossimString &prefix=ossimString("")) const
 

Protected Attributes

double theParameter
 
double theSigma
 
double theCenter
 
ossimUnitType theUnit
 
ossimString theDescription
 
bool theLockFlag
 

Friends

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

Detailed Description

Definition at line 16 of file ossimAdjustableParameterInfo.h.

Constructor & Destructor Documentation

◆ ossimAdjustableParameterInfo() [1/2]

ossimAdjustableParameterInfo::ossimAdjustableParameterInfo ( )
inline

◆ ossimAdjustableParameterInfo() [2/2]

ossimAdjustableParameterInfo::ossimAdjustableParameterInfo ( const ossimAdjustableParameterInfo rhs)
inline

Member Function Documentation

◆ computeOffset()

double ossimAdjustableParameterInfo::computeOffset ( ) const

will return theCenter + theSigma*theParameter

Definition at line 55 of file ossimAdjustableParameterInfo.cpp.

References theCenter, theParameter, and theSigma.

◆ getCenter()

double ossimAdjustableParameterInfo::getCenter ( ) const

Definition at line 50 of file ossimAdjustableParameterInfo.cpp.

References theCenter.

51 {
52  return theCenter;
53 }

◆ getDescription()

const ossimString& ossimAdjustableParameterInfo::getDescription ( ) const
inline

Definition at line 61 of file ossimAdjustableParameterInfo.h.

References theDescription.

62  {
63  return theDescription;
64  }

◆ getLockFlag()

bool ossimAdjustableParameterInfo::getLockFlag ( ) const
inline

Definition at line 98 of file ossimAdjustableParameterInfo.h.

99  {
100  return theLockFlag;
101  }

◆ getParameter()

double ossimAdjustableParameterInfo::getParameter ( ) const
inline

Definition at line 39 of file ossimAdjustableParameterInfo.h.

40  {
41  return theParameter;
42  }

◆ getSigma()

double ossimAdjustableParameterInfo::getSigma ( ) const
inline

Definition at line 50 of file ossimAdjustableParameterInfo.h.

51  {
52  return theSigma;
53  }

◆ getUnit()

ossimUnitType ossimAdjustableParameterInfo::getUnit ( ) const
inline

Definition at line 74 of file ossimAdjustableParameterInfo.h.

75  {
76  return theUnit;
77  }

◆ getUnitAsString()

ossimString ossimAdjustableParameterInfo::getUnitAsString ( ) const

Definition at line 37 of file ossimAdjustableParameterInfo.cpp.

References ossimLookUpTable::getEntryString(), ossimUnitTypeLut::instance(), and theUnit.

38 {
40 }
virtual ossimString getEntryString(ossim_int32 entry_number) const
static ossimUnitTypeLut * instance()
Returns the static instance of an ossimUnitTypeLut object.

◆ loadState()

bool ossimAdjustableParameterInfo::loadState ( const ossimKeywordlist kwl,
const ossimString prefix = ossimString("") 
)

Definition at line 87 of file ossimAdjustableParameterInfo.cpp.

References ossimKeywordlist::find().

89 {
90  const char* param = kwl.find(prefix, PARAM_KW);
91  const char* sigma = kwl.find(prefix, PARAM_SIGMA_KW);
92  const char* center = kwl.find(prefix, PARAM_CENTER_KW);
93  const char* unit = kwl.find(prefix, ossimKeywordNames::UNITS_KW);
94  const char* locked = kwl.find(prefix, PARAM_LOCK_FLAG_KW);
95 
97 
98  if(param)
99  {
100  theParameter = ossimString(param).toDouble();
101  }
102  else
103  {
104  theParameter = 0.0;
105  }
106  if(unit)
107  {
109  }
110  else
111  {
113  }
114  if(sigma)
115  {
116  theSigma = ossimString(sigma).toDouble();
117  }
118  else
119  {
120  theSigma = 0.0;
121  }
122  if(center)
123  {
124  theCenter = ossimString(center).toDouble();
125  }
126  else
127  {
128  theCenter = 0.0;
129  }
130  if(locked)
131  {
132  theLockFlag = ossimString(locked).toBool();
133  }
134 
135  return true;
136 }
ossimUnitType
const char * find(const char *key) const
virtual ossim_int32 getEntryNumber(const char *entry_string, bool case_insensitive=true) const
bool toBool() const
String to numeric methods.
double toDouble() const
static const char * UNITS_KW
static const char * DESCRIPTION_KW
static ossimUnitTypeLut * instance()
Returns the static instance of an ossimUnitTypeLut object.

◆ saveState()

bool ossimAdjustableParameterInfo::saveState ( ossimKeywordlist kwl,
const ossimString prefix = ossimString("") 
) const

Definition at line 138 of file ossimAdjustableParameterInfo.cpp.

References ossimKeywordlist::add(), ossimKeywordNames::DESCRIPTION_KW, ossimUnitTypeLut::instance(), theDescription, theUnit, and ossimKeywordNames::UNITS_KW.

140 {
141  kwl.add(prefix,
144  true);
145  kwl.add(prefix, ossimKeywordNames::UNITS_KW,
146  ossimUnitTypeLut::instance()->getEntryString(theUnit), true);
147  kwl.add(prefix, PARAM_KW, theParameter, true);
148  kwl.add(prefix, PARAM_SIGMA_KW, theSigma, true);
149  kwl.add(prefix, PARAM_CENTER_KW, theCenter, true);
150  kwl.add(prefix, PARAM_LOCK_FLAG_KW, theLockFlag, true);
151 
152  return true;
153 }
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
static const char * UNITS_KW
static const char * DESCRIPTION_KW
static ossimUnitTypeLut * instance()
Returns the static instance of an ossimUnitTypeLut object.

◆ setCenter()

void ossimAdjustableParameterInfo::setCenter ( double  center)

Definition at line 42 of file ossimAdjustableParameterInfo.cpp.

References theCenter, and theLockFlag.

◆ setDescription()

void ossimAdjustableParameterInfo::setDescription ( const ossimString description)
inline

Definition at line 66 of file ossimAdjustableParameterInfo.h.

References theDescription.

67  {
68  if(!theLockFlag)
69  {
70  theDescription = description;
71  }
72  }

◆ setLockFlag()

void ossimAdjustableParameterInfo::setLockFlag ( bool  flag)
inline

Definition at line 94 of file ossimAdjustableParameterInfo.h.

◆ setOffset()

void ossimAdjustableParameterInfo::setOffset ( ossim_float64  value)

Definition at line 60 of file ossimAdjustableParameterInfo.cpp.

References abs, DBL_EPSILON, theCenter, theLockFlag, theParameter, theSigma, and x.

61 {
62  if(!theLockFlag)
63  {
64  double minValue = theCenter - theSigma;
65  double maxValue = theCenter + theSigma;
66  double x = 0.0;
67 
69  {
70  x = (value - theCenter)/theSigma;
71 
72  value = theCenter + x*theSigma;
73 
74  if(value < minValue)
75  {
76  x = -1;
77  }
78  else if(value > maxValue)
79  {
80  x = 1.0;
81  }
82  theParameter = x;
83  }
84  }
85 }
ossim_uint32 x
#define abs(a)
Definition: auxiliary.h:74
#define DBL_EPSILON

◆ setParameter()

void ossimAdjustableParameterInfo::setParameter ( double  parameter)
inline

Definition at line 43 of file ossimAdjustableParameterInfo.h.

44  {
45  if(!theLockFlag)
46  {
47  theParameter = parameter;
48  }
49  }

◆ setSigma()

void ossimAdjustableParameterInfo::setSigma ( double  sigma)
inline

Definition at line 54 of file ossimAdjustableParameterInfo.h.

55  {
56  if(!theLockFlag)
57  {
58  theSigma = sigma;
59  }
60  }

◆ setUnit()

void ossimAdjustableParameterInfo::setUnit ( ossimUnitType  unit)
inline

Definition at line 78 of file ossimAdjustableParameterInfo.h.

79  {
80  theUnit = unit;
81  }

Friends And Related Function Documentation

◆ operator<<

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

Definition at line 23 of file ossimAdjustableParameterInfo.cpp.

24 {
25  out << "description: " << data.theDescription << std::endl
26  << "center: " << data.theCenter << std::endl
27  << "parameter: " << data.theParameter << std::endl
28  << "sigma: " << data.theSigma << std::endl
29  << "units: " << (ossimUnitTypeLut::instance()->getEntryString(data.theUnit))
30  << std::endl
31  << "locked: " << (data.theLockFlag?"true":"false") << std::endl;
32 
33  return out;
34 }
virtual ossimString getEntryString(ossim_int32 entry_number) const
static ossimUnitTypeLut * instance()
Returns the static instance of an ossimUnitTypeLut object.

Member Data Documentation

◆ theCenter

double ossimAdjustableParameterInfo::theCenter
protected

◆ theDescription

ossimString ossimAdjustableParameterInfo::theDescription
protected

Definition at line 113 of file ossimAdjustableParameterInfo.h.

Referenced by operator<<(), and saveState().

◆ theLockFlag

bool ossimAdjustableParameterInfo::theLockFlag
protected

Definition at line 114 of file ossimAdjustableParameterInfo.h.

Referenced by operator<<(), setCenter(), and setOffset().

◆ theParameter

double ossimAdjustableParameterInfo::theParameter
protected

Definition at line 109 of file ossimAdjustableParameterInfo.h.

Referenced by computeOffset(), operator<<(), and setOffset().

◆ theSigma

double ossimAdjustableParameterInfo::theSigma
protected

Definition at line 110 of file ossimAdjustableParameterInfo.h.

Referenced by computeOffset(), operator<<(), and setOffset().

◆ theUnit

ossimUnitType ossimAdjustableParameterInfo::theUnit
protected

Definition at line 112 of file ossimAdjustableParameterInfo.h.

Referenced by getUnitAsString(), operator<<(), and saveState().


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