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

#include <ossimNitfRpcBase.h>

Inheritance diagram for ossimNitfRpcBase:
ossimNitfRegisteredTag ossimObject ossimPropertyInterface ossimReferenced ossimNitfRpcATag ossimNitfRpcBTag

Public Types

enum  {
  SUCCESS_SIZE = 1, ERROR_BIAS_SIZE = 7, ERR_RAND_SIZE = 7, LINE_OFFSET_SIZE = 6,
  SAMPLE_OFFSET_SIZE = 5, GEODETIC_LAT_OFFSET_SIZE = 8, GEODETIC_LON_OFFSET_SIZE = 9, GEODETIC_HEIGHT_OFFSET_SIZE = 5,
  LINE_SCALE_SIZE = 6, SAMPLE_SCALE_SIZE = 5, GEODETIC_LAT_SCALE_SIZE = 8, GEODETIC_LON_SCALE_SIZE = 9,
  GEODETIC_HEIGHT_SCALE_SIZE = 5, LINE_NUMERATOR_COEFFICIENT_SIZE = 12, LINE_NUMERATOR_COEFFICIENT_COUNT = 20, LINE_DENOMINATOR_COEFFICIENT_SIZE = 12,
  LINE_DENOMINATOR_COEFFICIENT_COUNT = 20, SAMPLE_NUMERATOR_COEFFICIENT_SIZE = 12, SAMPLE_NUMERATOR_COEFFICIENT_COUNT = 20, SAMPLE_DENOMINATOR_COEFFICIENT_SIZE = 12,
  SAMPLE_DENOMINATOR_COEFFICIENT_COUNT = 20
}
 

Public Member Functions

 ossimNitfRpcBase ()
 default constructor More...
 
virtual void parseStream (std::istream &in)
 Parse method. More...
 
virtual void writeStream (std::ostream &out)
 Write method. More...
 
virtual void clearFields ()
 Clears all string fields within the record to some default nothingness. More...
 
virtual void setRpcModelParams (ossimRefPtr< ossimRpcModel > rpc)
 For generating the RPC tag from existing RPC Model. More...
 
bool getSuccess () const
 
void setSuccess (bool success)
 
ossimString getErrorBias () const
 
void setErrorBias (const ossim_float64 &errorBias)
 
void setErrorBias (const ossimString &errorBias)
 
ossimString getErrorRand () const
 
void setErrorRand (const ossim_float64 &errorRand)
 
void setErrorRand (const ossimString &errorRand)
 
ossimString getLineOffset () const
 
void setLineOffset (ossim_uint32 lineOffset)
 
void setLineOffset (const ossimString &lineOffset)
 
ossimString getSampleOffset () const
 
void setSampleOffset (ossim_uint32 sampleOffset)
 
void setSampleOffset (const ossimString &sampleOffset)
 
ossimString getGeodeticLatOffset () const
 
void setGeodeticLatOffset (const ossim_float64 &geodeticLatOffset)
 
void setGeodeticLatOffset (const ossimString &geodeticLatOffset)
 
ossimString getGeodeticLonOffset () const
 
void setGeodeticLonOffset (const ossim_float64 &geodeticLonOffset)
 
void setGeodeticLonOffset (const ossimString &geodeticLonOffset)
 
ossimString getGeodeticHeightOffset () const
 
void setGeodeticHeightOffset (ossim_int32 geodeticHeightOffset)
 
void setGeodeticHeightOffset (const ossimString &geodeticHeightOffset)
 
ossimString getLineScale () const
 
void setLineScale (ossim_uint32 lineScale)
 
void setLineScale (const ossimString &lineScale)
 
ossimString getSampleScale () const
 
void setSampleScale (ossim_uint32 sampleScale)
 
void setSampleScale (const ossimString &sampleScale)
 
ossimString getGeodeticLatScale () const
 
void setGeodeticLatScale (const ossim_float64 &geodeticLatScale)
 
void setGeodeticLatScale (const ossimString &geodeticLatScale)
 
ossimString getGeodeticLonScale () const
 
void setGeodeticLonScale (const ossim_float64 &geodeticLonScale)
 
void setGeodeticLonScale (const ossimString &geodeticLonScale)
 
ossimString getGeodeticHeightScale () const
 
void setGeodeticHeightScale (ossim_int32 geodeticHeightScale)
 
void setGeodeticHeightScale (const ossimString &geodeticHeightScale)
 
ossimString getLineNumeratorCoeff (ossim_uint32 idx) const
 
void setLineNumeratorCoeff (const std::vector< ossim_float64 > &coeff)
 
void setLineNumeratorCoeff (ossim_uint32 idx, const ossimString &coeff)
 
ossimString getLineDenominatorCoeff (ossim_uint32 idx) const
 
void setLineDenominatorCoeff (const std::vector< ossim_float64 > &coeff)
 
void setLineDenominatorCoeff (ossim_uint32 idx, const ossimString &coeff)
 
ossimString getSampleNumeratorCoeff (ossim_uint32 idx) const
 
void setSampleNumeratorCoeff (const std::vector< ossim_float64 > &coeff)
 
void setSampleNumeratorCoeff (ossim_uint32 idx, const ossimString &coeff)
 
ossimString getSampleDenominatorCoeff (ossim_uint32 idx) const
 
void setSampleDenominatorCoeff (const std::vector< ossim_float64 > &coeff)
 
void setSampleDenominatorCoeff (ossim_uint32 idx, const ossimString &coeff)
 
virtual std::ostream & print (std::ostream &out, const std::string &prefix=std::string()) const
 Print method that outputs a key/value type format adding prefix to keys. More...
 
virtual void setProperty (ossimRefPtr< ossimProperty > property)
 
virtual ossimRefPtr< ossimPropertygetProperty (const ossimString &name) const
 
virtual void getPropertyNames (std::vector< ossimString > &propertyNames) const
 
bool loadState (const ossimKeywordlist &kwl, const char *prefix)
 
- Public Member Functions inherited from ossimNitfRegisteredTag
 ossimNitfRegisteredTag ()
 default constructor More...
 
 ossimNitfRegisteredTag (const std::string &tagName, ossim_uint32 tagLength)
 Constructor that takes name and size. More...
 
virtual ~ossimNitfRegisteredTag ()
 destructor More...
 
virtual std::string getRegisterTagName () const
 This will return the name of the registered tag for this user defined header. More...
 
virtual const std::string & getTagName () const
 This will return the name of the registered tag for this user defined header. More...
 
virtual void setTagName (const std::string &tagName)
 
virtual ossim_uint32 getSizeInBytes () const
 Returns the length in bytes of the tag from the CEL or REL field. More...
 
virtual ossim_uint32 getTagLength () const
 Returns the length in bytes of the tag from the CEL or REL field. More...
 
virtual void setTagLength (ossim_uint32 length)
 Set the tag length. More...
 
virtual void parseStream (ossim::istream &in)=0
 This will allow the user defined data to parse the stream. More...
 
virtual void writeStream (ossim::ostream &out)=0
 
virtual void getMetadata (ossimKeywordlist &kwl, const char *prefix=0) const
 Default interface to populate keyword list with metadata. More...
 
virtual bool saveState (ossimKeywordlist &kwl, const ossimString &prefix) const
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimObjectdup () const
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () const
 
virtual ossimString getDescription () const
 
virtual ossimString getClassName () const
 
virtual RTTItypeid getType () const
 
virtual bool canCastTo (ossimObject *obj) const
 
virtual bool canCastTo (const RTTItypeid &id) const
 
virtual bool canCastTo (const ossimString &parentClassName) const
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual std::ostream & print (std::ostream &out) const
 Generic print method. More...
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
virtual void accept (ossimVisitor &visitor)
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 
- Public Member Functions inherited from ossimPropertyInterface
 ossimPropertyInterface ()
 
virtual ~ossimPropertyInterface ()
 
virtual void setProperty (const ossimString &name, const ossimString &value)
 
virtual ossimString getPropertyValueAsString (const ossimString &name) const
 
void getPropertyList (std::vector< ossimRefPtr< ossimProperty > > &propertyList) const
 
void setProperties (std::vector< ossimRefPtr< ossimProperty > > &propertyList)
 

Protected Attributes

char theSuccess [SUCCESS_SIZE+1]
 FIELD: SUCCESS. More...
 
char theErrorBias [ERROR_BIAS_SIZE+1]
 FIELD: ERR_BIAS. More...
 
char theErrRand [ERR_RAND_SIZE+1]
 FIELD ERR_RAND. More...
 
char theLineOffset [LINE_OFFSET_SIZE+1]
 FIELD: LINE_OFF. More...
 
char theSampleOffset [SAMPLE_OFFSET_SIZE+1]
 FIELD: SAMP_OFF. More...
 
char theGeodeticLatOffset [GEODETIC_LAT_OFFSET_SIZE+1]
 FIELD: LAT_OFF. More...
 
char theGeodeticLonOffset [GEODETIC_LON_OFFSET_SIZE+1]
 FIELD: LONG_OFF. More...
 
char theGeodeticHeightOffset [GEODETIC_HEIGHT_OFFSET_SIZE+1]
 FIELD: HEIGHT_OFF. More...
 
char theLineScale [LINE_SCALE_SIZE+1]
 FIELD: LINE_SCALE. More...
 
char theSampleScale [SAMPLE_SCALE_SIZE+1]
 FIELD: SAMP_SCALE. More...
 
char theGeodeticLatScale [GEODETIC_LAT_SCALE_SIZE+1]
 FIELD: LAT_SCALE. More...
 
char theGeodeticLonScale [GEODETIC_LON_SCALE_SIZE+1]
 FIELD: LON_SCALE. More...
 
char theGeodeticHeightScale [GEODETIC_HEIGHT_SCALE_SIZE+1]
 FIELD: HEIGHT_SCALE. More...
 
std::vector< ossimStringtheLineNumeratorCoefficient
 FIELD: LINE_NUM_COEFF_1 through LINE_NUM_COEFF_20. More...
 
std::vector< ossimStringtheLineDenominatorCoefficient
 FIELD: LINE_DEN_COEFF_1 through LINE_DEN_COEFF_20. More...
 
std::vector< ossimStringtheSampleNumeratorCoefficient
 FIELD: SAMP_NUM_COEFF_1 through SAMP_NUM_COEFF_20. More...
 
std::vector< ossimStringtheSampleDenominatorCoefficient
 FIELD: SAMP_DEN_COEFF_1 through SAMP_DEN_COEFF_20. More...
 
- Protected Attributes inherited from ossimNitfRegisteredTag
std::string m_tagName
 
ossim_uint32 m_tagLength
 

Additional Inherited Members

- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Detailed Description

Definition at line 22 of file ossimNitfRpcBase.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
SUCCESS_SIZE 
ERROR_BIAS_SIZE 
ERR_RAND_SIZE 
LINE_OFFSET_SIZE 
SAMPLE_OFFSET_SIZE 
GEODETIC_LAT_OFFSET_SIZE 
GEODETIC_LON_OFFSET_SIZE 
GEODETIC_HEIGHT_OFFSET_SIZE 
LINE_SCALE_SIZE 
SAMPLE_SCALE_SIZE 
GEODETIC_LAT_SCALE_SIZE 
GEODETIC_LON_SCALE_SIZE 
GEODETIC_HEIGHT_SCALE_SIZE 
LINE_NUMERATOR_COEFFICIENT_SIZE 
LINE_NUMERATOR_COEFFICIENT_COUNT 
LINE_DENOMINATOR_COEFFICIENT_SIZE 
LINE_DENOMINATOR_COEFFICIENT_COUNT 
SAMPLE_NUMERATOR_COEFFICIENT_SIZE 
SAMPLE_NUMERATOR_COEFFICIENT_COUNT 
SAMPLE_DENOMINATOR_COEFFICIENT_SIZE 
SAMPLE_DENOMINATOR_COEFFICIENT_COUNT 

Definition at line 25 of file ossimNitfRpcBase.h.

26  {
27  SUCCESS_SIZE = 1,
28  ERROR_BIAS_SIZE = 7,
29  ERR_RAND_SIZE = 7,
30  LINE_OFFSET_SIZE = 6,
35  LINE_SCALE_SIZE = 6,
48  // -----
49  // 1041
50  };

Constructor & Destructor Documentation

◆ ossimNitfRpcBase()

ossimNitfRpcBase::ossimNitfRpcBase ( )

default constructor

Definition at line 46 of file ossimNitfRpcBase.cpp.

References clearFields(), and ossimNitfRegisteredTag::setTagLength().

48 {
49  // Set the tag length in base.
50  setTagLength(1041);
51 
52  clearFields();
53 }
virtual void setTagLength(ossim_uint32 length)
Set the tag length.
ossimNitfRegisteredTag()
default constructor
virtual void clearFields()
Clears all string fields within the record to some default nothingness.

Member Function Documentation

◆ clearFields()

void ossimNitfRpcBase::clearFields ( )
virtual

Clears all string fields within the record to some default nothingness.

Definition at line 147 of file ossimNitfRpcBase.cpp.

References theErrorBias, theErrRand, theGeodeticHeightOffset, theGeodeticHeightScale, theGeodeticLatOffset, theGeodeticLatScale, theGeodeticLonOffset, theGeodeticLonScale, theLineDenominatorCoefficient, theLineNumeratorCoefficient, theLineOffset, theLineScale, theSampleDenominatorCoefficient, theSampleNumeratorCoefficient, theSampleOffset, theSampleScale, and theSuccess.

Referenced by ossimNitfRpcBase(), and parseStream().

148 {
149  theSuccess[0] = '1';
150  memcpy(theErrorBias, "0000.00", 7);
151  memcpy(theErrRand, "0000.00", 7);
152  memcpy(theLineOffset, "000000", 6);
153  memcpy(theSampleOffset, "00000", 5);
154  memcpy(theGeodeticLatOffset, "+00.0000", 8);
155  memcpy(theGeodeticLonOffset, "+000.0000", 9);
156  memcpy(theGeodeticHeightOffset, "+0000", 5);
157  memcpy(theLineScale, "000001", 6);
158  memcpy(theSampleScale, "00001", 5);
159  memcpy(theGeodeticLatScale, "+00.0000", 8);
160  memcpy(theGeodeticLonScale, "+000.0000", 9);
161  memcpy(theGeodeticHeightScale, "+0000", 5);
162 
163  theSuccess[1] = '\0';
164  theErrorBias[7] = '\0';
165  theErrRand[7] = '\0';
166  theLineOffset[6] = '\0';
167  theSampleOffset[5] = '\0';
168  theGeodeticLatOffset[8]='\0';
169  theGeodeticLonOffset[9]='\0';
170  theGeodeticHeightOffset[5]='\0';
171  theLineScale[6]='\0';
172  theSampleScale[5]='\0';
173  theGeodeticLatScale[8]='\0';
174  theGeodeticLonScale[9]='\0';
175  theGeodeticHeightScale[5]='\0';
176 
177  theLineNumeratorCoefficient.resize(20);
181  ossim_uint32 idx = 0;
182  const char* zeroString = "+0.000000E+0";
183 
184  for(idx = 0; idx < theLineNumeratorCoefficient.size();++idx)
185  {
186  theLineNumeratorCoefficient[idx] = zeroString;
187  theLineDenominatorCoefficient[idx] = zeroString;;
188  theSampleNumeratorCoefficient[idx] = zeroString;;
189  theSampleDenominatorCoefficient[idx] = zeroString;;
190  }
191 }
std::vector< ossimString > theLineNumeratorCoefficient
FIELD: LINE_NUM_COEFF_1 through LINE_NUM_COEFF_20.
char theGeodeticLonScale[GEODETIC_LON_SCALE_SIZE+1]
FIELD: LON_SCALE.
std::vector< ossimString > theSampleNumeratorCoefficient
FIELD: SAMP_NUM_COEFF_1 through SAMP_NUM_COEFF_20.
char theErrorBias[ERROR_BIAS_SIZE+1]
FIELD: ERR_BIAS.
char theLineScale[LINE_SCALE_SIZE+1]
FIELD: LINE_SCALE.
std::vector< ossimString > theSampleDenominatorCoefficient
FIELD: SAMP_DEN_COEFF_1 through SAMP_DEN_COEFF_20.
char theSampleScale[SAMPLE_SCALE_SIZE+1]
FIELD: SAMP_SCALE.
char theGeodeticHeightScale[GEODETIC_HEIGHT_SCALE_SIZE+1]
FIELD: HEIGHT_SCALE.
char theErrRand[ERR_RAND_SIZE+1]
FIELD ERR_RAND.
char theGeodeticLatOffset[GEODETIC_LAT_OFFSET_SIZE+1]
FIELD: LAT_OFF.
unsigned int ossim_uint32
char theSuccess[SUCCESS_SIZE+1]
FIELD: SUCCESS.
char theGeodeticLatScale[GEODETIC_LAT_SCALE_SIZE+1]
FIELD: LAT_SCALE.
char theGeodeticHeightOffset[GEODETIC_HEIGHT_OFFSET_SIZE+1]
FIELD: HEIGHT_OFF.
char theGeodeticLonOffset[GEODETIC_LON_OFFSET_SIZE+1]
FIELD: LONG_OFF.
char theSampleOffset[SAMPLE_OFFSET_SIZE+1]
FIELD: SAMP_OFF.
char theLineOffset[LINE_OFFSET_SIZE+1]
FIELD: LINE_OFF.
std::vector< ossimString > theLineDenominatorCoefficient
FIELD: LINE_DEN_COEFF_1 through LINE_DEN_COEFF_20.

◆ getErrorBias()

ossimString ossimNitfRpcBase::getErrorBias ( ) const
Returns
theErrorBias as a string.

Definition at line 242 of file ossimNitfRpcBase.cpp.

References theErrorBias.

243 {
244  return theErrorBias;
245 }
char theErrorBias[ERROR_BIAS_SIZE+1]
FIELD: ERR_BIAS.

◆ getErrorRand()

ossimString ossimNitfRpcBase::getErrorRand ( ) const
Returns
theErrorBias as a string.

Definition at line 261 of file ossimNitfRpcBase.cpp.

References theErrRand.

262 {
263  return theErrRand;
264 }
char theErrRand[ERR_RAND_SIZE+1]
FIELD ERR_RAND.

◆ getGeodeticHeightOffset()

ossimString ossimNitfRpcBase::getGeodeticHeightOffset ( ) const
Returns
Geodetic height offset as a string.

Definition at line 365 of file ossimNitfRpcBase.cpp.

References theGeodeticHeightOffset.

366 {
368 }
char theGeodeticHeightOffset[GEODETIC_HEIGHT_OFFSET_SIZE+1]
FIELD: HEIGHT_OFF.

◆ getGeodeticHeightScale()

ossimString ossimNitfRpcBase::getGeodeticHeightScale ( ) const
Returns
The geodetic height scale as a string.

Definition at line 479 of file ossimNitfRpcBase.cpp.

References theGeodeticHeightScale.

480 {
481  return theGeodeticHeightScale;
482 }
char theGeodeticHeightScale[GEODETIC_HEIGHT_SCALE_SIZE+1]
FIELD: HEIGHT_SCALE.

◆ getGeodeticLatOffset()

ossimString ossimNitfRpcBase::getGeodeticLatOffset ( ) const
Returns
Geodetic latitude offset as a string.

Definition at line 316 of file ossimNitfRpcBase.cpp.

References theGeodeticLatOffset.

317 {
318  return theGeodeticLatOffset;
319 }
char theGeodeticLatOffset[GEODETIC_LAT_OFFSET_SIZE+1]
FIELD: LAT_OFF.

◆ getGeodeticLatScale()

ossimString ossimNitfRpcBase::getGeodeticLatScale ( ) const
Returns
The Geodetic latitude scale as a string.

Definition at line 421 of file ossimNitfRpcBase.cpp.

References theGeodeticLatScale.

422 {
423  return theGeodeticLatScale;
424 }
char theGeodeticLatScale[GEODETIC_LAT_SCALE_SIZE+1]
FIELD: LAT_SCALE.

◆ getGeodeticLonOffset()

ossimString ossimNitfRpcBase::getGeodeticLonOffset ( ) const
Returns
Geodetic longitude offset as a string.

Definition at line 341 of file ossimNitfRpcBase.cpp.

References theGeodeticLonOffset.

342 {
343  return theGeodeticLonOffset;
344 }
char theGeodeticLonOffset[GEODETIC_LON_OFFSET_SIZE+1]
FIELD: LONG_OFF.

◆ getGeodeticLonScale()

ossimString ossimNitfRpcBase::getGeodeticLonScale ( ) const
Returns
Geodetic longitude scale as a string.

Definition at line 450 of file ossimNitfRpcBase.cpp.

References theGeodeticLonScale.

451 {
452  return theGeodeticLonScale;
453 }
char theGeodeticLonScale[GEODETIC_LON_SCALE_SIZE+1]
FIELD: LON_SCALE.

◆ getLineDenominatorCoeff()

ossimString ossimNitfRpcBase::getLineDenominatorCoeff ( ossim_uint32  idx) const
Parameters
idxindex of line denominator coefficient to get. Range: 0 - 19
Returns
line denominator coefficient as a string.

Definition at line 570 of file ossimNitfRpcBase.cpp.

References LINE_DENOMINATOR_COEFFICIENT_COUNT, ossimNotify(), ossimNotifyLevel_WARN, and theLineDenominatorCoefficient.

571 {
572  // ASSERT_ARRAY_CONSTRAINT(idx >= 0 && idx < LINE_DENOMINATOR_COEFFICIENT_COUNT,idx,0,"ossimNitfRpcBase::getLineDenominatorCoeff");
573 
575  {
577  << "ossimNitfRpcBase::getLineDenominatorCoeff range error!"
578  << std::endl;
579  return ossimString();
580  }
581 
582  return theLineDenominatorCoefficient[idx];
583 }
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
std::vector< ossimString > theLineDenominatorCoefficient
FIELD: LINE_DEN_COEFF_1 through LINE_DEN_COEFF_20.

◆ getLineNumeratorCoeff()

ossimString ossimNitfRpcBase::getLineNumeratorCoeff ( ossim_uint32  idx) const
Parameters
idxIndex of line numerator coefficient to get. Range: 0 - 19
Returns
The line numerator coefficient as a string.

Definition at line 511 of file ossimNitfRpcBase.cpp.

References LINE_NUMERATOR_COEFFICIENT_COUNT.

512 {
513 //ASSERT_ARRAY_CONSTRAINT(idx >= 0 && idx < LINE_NUMERATOR_COEFFICIENT_COUNT,idx,0,"ossimNitfRpcBase::getLineNumeratorCoeff");
514 
516  {
517  if (traceDebug())
518  {
520  << "ossimNitfRpcBase::getLineNumeratorCoeff range error!"
521  << std::endl;
522  }
523  return ossimString();
524  }
525 
526  return theLineNumeratorCoefficient[idx];
527 }
std::vector< ossimString > theLineNumeratorCoefficient
FIELD: LINE_NUM_COEFF_1 through LINE_NUM_COEFF_20.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ getLineOffset()

ossimString ossimNitfRpcBase::getLineOffset ( ) const
Returns
The line offset as a string.

Definition at line 280 of file ossimNitfRpcBase.cpp.

References theLineOffset.

281 {
282  return theLineOffset;
283 }
char theLineOffset[LINE_OFFSET_SIZE+1]
FIELD: LINE_OFF.

◆ getLineScale()

ossimString ossimNitfRpcBase::getLineScale ( ) const
Returns
The line scale as a string.

Definition at line 385 of file ossimNitfRpcBase.cpp.

References theLineScale.

386 {
387  return theLineScale;
388 }
char theLineScale[LINE_SCALE_SIZE+1]
FIELD: LINE_SCALE.

◆ getProperty()

ossimRefPtr< ossimProperty > ossimNitfRpcBase::getProperty ( const ossimString name) const
virtual

Reimplemented from ossimNitfRegisteredTag.

Definition at line 826 of file ossimNitfRpcBase.cpp.

827 {
828  ossimProperty* result = 0;
829  if(name == ERR_BIAS_KW)
830  {
831  result = new ossimStringProperty(name, theErrorBias);
832  }
833  else if(name == ERR_RAND_KW)
834  {
835  result = new ossimStringProperty(name, theErrRand);
836  }
837  else if(name == LINE_OFF_KW)
838  {
839  result = new ossimStringProperty(name, theLineOffset);
840  }
841  else if(name == SAMP_OFF_KW)
842  {
843  result = new ossimStringProperty(name, theSampleOffset);
844  }
845  else if(name == LAT_OFF_KW)
846  {
847  result = new ossimStringProperty(name, theGeodeticLatOffset);
848  }
849  else if(name == LONG_OFF_KW)
850  {
851  result = new ossimStringProperty(name, theGeodeticLonOffset);
852  }
853  else if(name == HEIGHT_OFF_KW)
854  {
855  result = new ossimStringProperty(name, theGeodeticHeightOffset);
856  }
857  else if(name == LINE_SCALE_KW)
858  {
859  result = new ossimStringProperty(name, theLineScale);
860  }
861  else if(name == SAMP_SCALE_KW)
862  {
863  result = new ossimStringProperty(name,theSampleScale );
864  }
865  else if(name == LAT_SCALE_KW)
866  {
867  result = new ossimStringProperty(name, theGeodeticLatScale);
868  }
869  else if(name == LONG_SCALE_KW)
870  {
871  result = new ossimStringProperty(name, theGeodeticLonScale);
872  }
873  else if(name == HEIGHT_SCALE_KW)
874  {
875  result = new ossimStringProperty(name, theGeodeticHeightScale);
876  }
877  else if(name.contains(LINE_NUM_COEFF_KW))
878  {
879  ossim_uint32 idx = 0;
880 
881  idx = ossimString(name.begin()+LINE_NUM_COEFF_KW.length(),
882  name.end()).toUInt32();
883  --idx;
884 
885  if(idx < theLineNumeratorCoefficient.size())
886  {
887  result = new ossimStringProperty(name, theLineNumeratorCoefficient[idx]);
888  }
889  }
890  else if(name.contains(LINE_DEN_COEFF_KW))
891  {
892  ossim_uint32 idx = 0;
893 
894  idx = ossimString(name.begin()+LINE_DEN_COEFF_KW.length(),
895  name.end()).toUInt32();
896  --idx;
897 
898  if(idx < theLineDenominatorCoefficient.size())
899  {
900  result = new ossimStringProperty(name, theLineDenominatorCoefficient[idx]);
901  }
902  }
903  else if(name.contains(SAMP_NUM_COEFF_KW))
904  {
905  ossim_uint32 idx = 0;
906 
907  idx = ossimString(name.begin()+SAMP_NUM_COEFF_KW.length(),
908  name.end()).toUInt32();
909  --idx;
910 
911  if(idx < theSampleNumeratorCoefficient.size())
912  {
913  result = new ossimStringProperty(name, theSampleNumeratorCoefficient[idx]);
914  }
915  }
916  else if(name.contains(SAMP_DEN_COEFF_KW))
917  {
918  ossim_uint32 idx = 0;
919 
920  idx = ossimString(name.begin()+SAMP_DEN_COEFF_KW.length(),
921  name.end()).toUInt32();
922  --idx;
923 
924  if(idx < theSampleDenominatorCoefficient.size())
925  {
926  result = new ossimStringProperty(name, theSampleDenominatorCoefficient[idx]);
927  }
928  }
929 
930  return result;
931 }
std::vector< ossimString > theLineNumeratorCoefficient
FIELD: LINE_NUM_COEFF_1 through LINE_NUM_COEFF_20.
char theGeodeticLonScale[GEODETIC_LON_SCALE_SIZE+1]
FIELD: LON_SCALE.
std::vector< ossimString > theSampleNumeratorCoefficient
FIELD: SAMP_NUM_COEFF_1 through SAMP_NUM_COEFF_20.
char theErrorBias[ERROR_BIAS_SIZE+1]
FIELD: ERR_BIAS.
char theLineScale[LINE_SCALE_SIZE+1]
FIELD: LINE_SCALE.
bool contains(char aChar) const
Definition: ossimString.h:58
std::vector< ossimString > theSampleDenominatorCoefficient
FIELD: SAMP_DEN_COEFF_1 through SAMP_DEN_COEFF_20.
char theSampleScale[SAMPLE_SCALE_SIZE+1]
FIELD: SAMP_SCALE.
std::string::iterator end()
Definition: ossimString.h:423
char theGeodeticHeightScale[GEODETIC_HEIGHT_SCALE_SIZE+1]
FIELD: HEIGHT_SCALE.
char theErrRand[ERR_RAND_SIZE+1]
FIELD ERR_RAND.
std::string::size_type length() const
Definition: ossimString.h:408
std::string::iterator begin()
Definition: ossimString.h:420
char theGeodeticLatOffset[GEODETIC_LAT_OFFSET_SIZE+1]
FIELD: LAT_OFF.
unsigned int ossim_uint32
char theGeodeticLatScale[GEODETIC_LAT_SCALE_SIZE+1]
FIELD: LAT_SCALE.
char theGeodeticHeightOffset[GEODETIC_HEIGHT_OFFSET_SIZE+1]
FIELD: HEIGHT_OFF.
char theGeodeticLonOffset[GEODETIC_LON_OFFSET_SIZE+1]
FIELD: LONG_OFF.
char theSampleOffset[SAMPLE_OFFSET_SIZE+1]
FIELD: SAMP_OFF.
char theLineOffset[LINE_OFFSET_SIZE+1]
FIELD: LINE_OFF.
std::vector< ossimString > theLineDenominatorCoefficient
FIELD: LINE_DEN_COEFF_1 through LINE_DEN_COEFF_20.

◆ getPropertyNames()

void ossimNitfRpcBase::getPropertyNames ( std::vector< ossimString > &  propertyNames) const
virtual

Reimplemented from ossimNitfRegisteredTag.

Definition at line 933 of file ossimNitfRpcBase.cpp.

934 {
935  ossim_uint32 idx = 0;
936 
937  propertyNames.push_back(ERR_BIAS_KW);
938  propertyNames.push_back(ERR_RAND_KW);
939  propertyNames.push_back(LINE_OFF_KW);
940  propertyNames.push_back(SAMP_OFF_KW);
941  propertyNames.push_back(LAT_OFF_KW);
942  propertyNames.push_back(LONG_OFF_KW);
943  propertyNames.push_back(HEIGHT_OFF_KW);
944  propertyNames.push_back(LINE_SCALE_KW);
945  propertyNames.push_back(SAMP_SCALE_KW);
946  propertyNames.push_back(LAT_SCALE_KW);
947  propertyNames.push_back(LONG_SCALE_KW);
948  propertyNames.push_back(HEIGHT_SCALE_KW);
949 
950  for(idx = 1; idx <= 20; ++idx)
951  {
952  propertyNames.push_back(LINE_NUM_COEFF_KW+ossimString::toString(idx));
953  }
954  for(idx = 1; idx <= 20; ++idx)
955  {
956  propertyNames.push_back(LINE_DEN_COEFF_KW+ossimString::toString(idx));
957  }
958  for(idx = 1; idx <= 20; ++idx)
959  {
960  propertyNames.push_back(SAMP_NUM_COEFF_KW+ossimString::toString(idx));
961  }
962  for(idx = 1; idx <= 20; ++idx)
963  {
964  propertyNames.push_back(SAMP_DEN_COEFF_KW+ossimString::toString(idx));
965  }
966 }
static ossimString toString(bool aValue)
Numeric to string methods.
unsigned int ossim_uint32

◆ getSampleDenominatorCoeff()

ossimString ossimNitfRpcBase::getSampleDenominatorCoeff ( ossim_uint32  idx) const
Parameters
idxindex of sample denominator coefficient to get. Range: 0 - 19
Returns
sample denominator coefficient as a string.

Definition at line 681 of file ossimNitfRpcBase.cpp.

References ossimNotify(), ossimNotifyLevel_WARN, SAMPLE_DENOMINATOR_COEFFICIENT_COUNT, and theSampleDenominatorCoefficient.

682 {
683  // ASSERT_ARRAY_CONSTRAINT(idx >= 0 && idx < SAMPLE_DENOMINATOR_COEFFICIENT_COUNT,idx,0,"ossimNitfRpcBase::getSampleDenominatorCoeff");
684 
686  {
688  << "ossimNitfRpcBase::getSampleDenominatorCoeff range error!"
689  << std::endl;
690  return ossimString();
691  }
692 
694 }
std::vector< ossimString > theSampleDenominatorCoefficient
FIELD: SAMP_DEN_COEFF_1 through SAMP_DEN_COEFF_20.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ getSampleNumeratorCoeff()

ossimString ossimNitfRpcBase::getSampleNumeratorCoeff ( ossim_uint32  idx) const
Parameters
idxIndex of sample numerator coefficient to get. Range: 0 - 19
Returns
The sample numerator coefficient as a string.

Definition at line 626 of file ossimNitfRpcBase.cpp.

References ossimNotify(), ossimNotifyLevel_WARN, SAMPLE_NUMERATOR_COEFFICIENT_COUNT, and theSampleNumeratorCoefficient.

627 {
628  // ASSERT_ARRAY_CONSTRAINT(idx >= 0 && idx < SAMPLE_NUMERATOR_COEFFICIENT_COUNT,idx,0,"ossimNitfRpcBase::getSampleNumeratorCoeff");
629 
631  {
633  << "ossimNitfRpcBase::getSampleNumeratorCoeff range error!"
634  << std::endl;
635  return ossimString();
636  }
637  return theSampleNumeratorCoefficient[idx];
638 }
std::vector< ossimString > theSampleNumeratorCoefficient
FIELD: SAMP_NUM_COEFF_1 through SAMP_NUM_COEFF_20.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ getSampleOffset()

ossimString ossimNitfRpcBase::getSampleOffset ( ) const
Returns
The sample offset as a string.

Definition at line 298 of file ossimNitfRpcBase.cpp.

References theSampleOffset.

299 {
300  return theSampleOffset;
301 }
char theSampleOffset[SAMPLE_OFFSET_SIZE+1]
FIELD: SAMP_OFF.

◆ getSampleScale()

ossimString ossimNitfRpcBase::getSampleScale ( ) const
Returns
the sample scale as a string.

Definition at line 403 of file ossimNitfRpcBase.cpp.

References theSampleScale.

404 {
405  return theSampleScale;
406 }
char theSampleScale[SAMPLE_SCALE_SIZE+1]
FIELD: SAMP_SCALE.

◆ getSuccess()

bool ossimNitfRpcBase::getSuccess ( ) const
Returns
The success record as a boolean.

Definition at line 232 of file ossimNitfRpcBase.cpp.

References theSuccess.

233 {
234  return (theSuccess[0] == '1');
235 }
char theSuccess[SUCCESS_SIZE+1]
FIELD: SUCCESS.

◆ loadState()

bool ossimNitfRpcBase::loadState ( const ossimKeywordlist kwl,
const char *  prefix 
)
virtual

Method to the load (recreate) the state of the object from a keyword list. Return true if ok or false on error.

Reimplemented from ossimObject.

Definition at line 968 of file ossimNitfRpcBase.cpp.

References ossimKeywordlist::find(), ossimObject::loadState(), theErrorBias, theErrRand, theGeodeticHeightOffset, theGeodeticHeightScale, theGeodeticLatOffset, theGeodeticLatScale, theGeodeticLonOffset, theGeodeticLonScale, theLineDenominatorCoefficient, theLineNumeratorCoefficient, theLineOffset, theLineScale, theSampleDenominatorCoefficient, theSampleNumeratorCoefficient, theSampleOffset, theSampleScale, theSuccess, and ossimString::toString().

969 {
970  bool result = ossimNitfRegisteredTag::loadState(kwl, prefix);
971  const char* lookup;
972 
973  if(!result) return result;
974  lookup = kwl.find(prefix, "SUCCESS");
975  if(lookup)
976  {
977  strcpy(theSuccess, lookup);
978  }
979  lookup = kwl.find(prefix, "ERR_BIAS");
980  if(lookup)
981  {
982  strcpy(theErrorBias, lookup);
983  }
984  lookup = kwl.find(prefix, "ERR_RAND");
985  if(lookup)
986  {
987  strcpy(theErrRand, lookup);
988  }
989  lookup = kwl.find(prefix, "LINE_OFF");
990  if(lookup)
991  {
992  strcpy(theLineOffset, lookup);
993  }
994  lookup = kwl.find(prefix, "SAMP_OFF");
995  if(lookup)
996  {
997  strcpy(theSampleOffset, lookup);
998  }
999  lookup = kwl.find(prefix, "LAT_OFF");
1000  if(lookup)
1001  {
1002  strcpy(theGeodeticLatOffset, lookup);
1003  }
1004  lookup = kwl.find(prefix, "LONG_OFF");
1005  if(lookup)
1006  {
1007  strcpy(theGeodeticLonOffset, lookup);
1008  }
1009  lookup = kwl.find(prefix, "HEIGHT_OFF");
1010  if(lookup)
1011  {
1012  strcpy(theGeodeticHeightOffset, lookup);
1013  }
1014  lookup = kwl.find(prefix, "LINE_SCALE");
1015  if(lookup)
1016  {
1017  strcpy(theLineScale, lookup);
1018  }
1019  lookup = kwl.find(prefix, "SAMP_SCALE");
1020  if(lookup)
1021  {
1022  strcpy(theSampleScale, lookup);
1023  }
1024  lookup = kwl.find(prefix, "LAT_SCALE");
1025  if(lookup)
1026  {
1027  strcpy(theGeodeticLatScale, lookup);
1028  }
1029  lookup = kwl.find(prefix, "LONG_SCALE");
1030  if(lookup)
1031  {
1032  strcpy(theGeodeticLonScale, lookup);
1033  }
1034  lookup = kwl.find(prefix, "HEIGHT_SCALE");
1035  if(lookup)
1036  {
1037  strcpy(theGeodeticHeightScale, lookup);
1038  }
1039  for (ossim_uint32 i = 0; i < 20; ++i)
1040  {
1041  ossimString line_num_coeff = "LINE_NUM_COEFF_" + ossimString::toString(i);
1042  lookup = kwl.find(prefix, line_num_coeff);
1043  if(lookup)
1044  {
1045  theLineNumeratorCoefficient[i] = ossimString(lookup); //temp.substr(0,1) + "0." + temp.substr(1,6) + "E" + temp.substr(7,2);
1046  }
1047  }
1048  for (ossim_uint32 i = 0; i < 20; ++i)
1049  {
1050  ossimString line_den_coeff = "LINE_DEN_COEFF_" + ossimString::toString(i);
1051  lookup = kwl.find(prefix, line_den_coeff);
1052  if(lookup)
1053  {
1054  theLineDenominatorCoefficient[i] = ossimString(lookup); //temp.substr(0,1) + "0." + temp.substr(1,6) + "E" + temp.substr(7,2);
1055  }
1056  }
1057  for (ossim_uint32 i = 0; i < 20; ++i)
1058  {
1059  ossimString samp_num_coeff = "SAMP_NUM_COEFF_" + ossimString::toString(i);
1060  lookup = kwl.find(prefix, samp_num_coeff);
1061  if(lookup)
1062  {
1063  theSampleNumeratorCoefficient[i] = ossimString(lookup); //temp.substr(0,1) + "0." + temp.substr(1,6) + "E" + temp.substr(7,2);
1064  }
1065  }
1066  for (ossim_uint32 i = 0; i < 20; ++i)
1067  {
1068  ossimString samp_den_coeff = "SAMP_DEN_COEFF_" + ossimString::toString(i);
1069  lookup = kwl.find(prefix, samp_den_coeff);
1070  if(lookup)
1071  {
1072  theSampleDenominatorCoefficient[i] = ossimString(lookup); //temp.substr(0,1) + "0." + temp.substr(1,6) + "E" + temp.substr(7,2);
1073  }
1074  }
1075 
1076  return result;
1077 }
std::vector< ossimString > theLineNumeratorCoefficient
FIELD: LINE_NUM_COEFF_1 through LINE_NUM_COEFF_20.
char theGeodeticLonScale[GEODETIC_LON_SCALE_SIZE+1]
FIELD: LON_SCALE.
std::vector< ossimString > theSampleNumeratorCoefficient
FIELD: SAMP_NUM_COEFF_1 through SAMP_NUM_COEFF_20.
char theErrorBias[ERROR_BIAS_SIZE+1]
FIELD: ERR_BIAS.
const char * find(const char *key) const
char theLineScale[LINE_SCALE_SIZE+1]
FIELD: LINE_SCALE.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
static ossimString toString(bool aValue)
Numeric to string methods.
std::vector< ossimString > theSampleDenominatorCoefficient
FIELD: SAMP_DEN_COEFF_1 through SAMP_DEN_COEFF_20.
char theSampleScale[SAMPLE_SCALE_SIZE+1]
FIELD: SAMP_SCALE.
char theGeodeticHeightScale[GEODETIC_HEIGHT_SCALE_SIZE+1]
FIELD: HEIGHT_SCALE.
char theErrRand[ERR_RAND_SIZE+1]
FIELD ERR_RAND.
char theGeodeticLatOffset[GEODETIC_LAT_OFFSET_SIZE+1]
FIELD: LAT_OFF.
unsigned int ossim_uint32
char theSuccess[SUCCESS_SIZE+1]
FIELD: SUCCESS.
char theGeodeticLatScale[GEODETIC_LAT_SCALE_SIZE+1]
FIELD: LAT_SCALE.
char theGeodeticHeightOffset[GEODETIC_HEIGHT_OFFSET_SIZE+1]
FIELD: HEIGHT_OFF.
char theGeodeticLonOffset[GEODETIC_LON_OFFSET_SIZE+1]
FIELD: LONG_OFF.
char theSampleOffset[SAMPLE_OFFSET_SIZE+1]
FIELD: SAMP_OFF.
char theLineOffset[LINE_OFFSET_SIZE+1]
FIELD: LINE_OFF.
std::vector< ossimString > theLineDenominatorCoefficient
FIELD: LINE_DEN_COEFF_1 through LINE_DEN_COEFF_20.

◆ parseStream()

void ossimNitfRpcBase::parseStream ( std::istream &  in)
virtual

Parse method.

Parameters
inStream to parse.

Definition at line 55 of file ossimNitfRpcBase.cpp.

References clearFields(), ERR_RAND_SIZE, ERROR_BIAS_SIZE, GEODETIC_HEIGHT_OFFSET_SIZE, GEODETIC_HEIGHT_SCALE_SIZE, GEODETIC_LAT_OFFSET_SIZE, GEODETIC_LAT_SCALE_SIZE, GEODETIC_LON_OFFSET_SIZE, GEODETIC_LON_SCALE_SIZE, LINE_DENOMINATOR_COEFFICIENT_COUNT, LINE_DENOMINATOR_COEFFICIENT_SIZE, LINE_NUMERATOR_COEFFICIENT_COUNT, LINE_NUMERATOR_COEFFICIENT_SIZE, LINE_OFFSET_SIZE, LINE_SCALE_SIZE, SAMPLE_DENOMINATOR_COEFFICIENT_COUNT, SAMPLE_DENOMINATOR_COEFFICIENT_SIZE, SAMPLE_NUMERATOR_COEFFICIENT_COUNT, SAMPLE_NUMERATOR_COEFFICIENT_SIZE, SAMPLE_OFFSET_SIZE, SAMPLE_SCALE_SIZE, SUCCESS_SIZE, theErrorBias, theErrRand, theGeodeticHeightOffset, theGeodeticHeightScale, theGeodeticLatOffset, theGeodeticLatScale, theGeodeticLonOffset, theGeodeticLonScale, theLineDenominatorCoefficient, theLineNumeratorCoefficient, theLineOffset, theLineScale, theSampleDenominatorCoefficient, theSampleNumeratorCoefficient, theSampleOffset, theSampleScale, and theSuccess.

56 {
57  clearFields();
58 
59  in.read(theSuccess, SUCCESS_SIZE);
60  in.read(theErrorBias, ERROR_BIAS_SIZE);
61  in.read(theErrRand, ERR_RAND_SIZE);
67  in.read(theLineScale, LINE_SCALE_SIZE);
72 
73  ossim_uint32 idx = 0;
74 
75  char temp1[LINE_NUMERATOR_COEFFICIENT_SIZE+1];
76  temp1[LINE_NUMERATOR_COEFFICIENT_SIZE] = '\0';
77  for(idx = 0; idx < LINE_NUMERATOR_COEFFICIENT_COUNT; ++idx)
78  {
79  in.read(temp1, LINE_NUMERATOR_COEFFICIENT_SIZE);
80  theLineNumeratorCoefficient[idx] = temp1;
81  }
82 
85  for(idx = 0; idx < LINE_DENOMINATOR_COEFFICIENT_COUNT; ++idx)
86  {
87  in.read(temp2, LINE_DENOMINATOR_COEFFICIENT_SIZE);
88  theLineDenominatorCoefficient[idx] = temp2;
89  }
90 
93  for(idx = 0; idx < SAMPLE_NUMERATOR_COEFFICIENT_COUNT; ++idx)
94  {
95  in.read(temp3, SAMPLE_NUMERATOR_COEFFICIENT_SIZE);
96  theSampleNumeratorCoefficient[idx] = temp3;
97  }
98 
101  for(idx = 0; idx < SAMPLE_DENOMINATOR_COEFFICIENT_COUNT; ++idx)
102  {
103  in.read(temp4, SAMPLE_DENOMINATOR_COEFFICIENT_SIZE);
104  theSampleDenominatorCoefficient[idx] = temp4;
105  }
106 }
std::vector< ossimString > theLineNumeratorCoefficient
FIELD: LINE_NUM_COEFF_1 through LINE_NUM_COEFF_20.
char theGeodeticLonScale[GEODETIC_LON_SCALE_SIZE+1]
FIELD: LON_SCALE.
std::vector< ossimString > theSampleNumeratorCoefficient
FIELD: SAMP_NUM_COEFF_1 through SAMP_NUM_COEFF_20.
char theErrorBias[ERROR_BIAS_SIZE+1]
FIELD: ERR_BIAS.
char theLineScale[LINE_SCALE_SIZE+1]
FIELD: LINE_SCALE.
std::vector< ossimString > theSampleDenominatorCoefficient
FIELD: SAMP_DEN_COEFF_1 through SAMP_DEN_COEFF_20.
char theSampleScale[SAMPLE_SCALE_SIZE+1]
FIELD: SAMP_SCALE.
char theGeodeticHeightScale[GEODETIC_HEIGHT_SCALE_SIZE+1]
FIELD: HEIGHT_SCALE.
char theErrRand[ERR_RAND_SIZE+1]
FIELD ERR_RAND.
char theGeodeticLatOffset[GEODETIC_LAT_OFFSET_SIZE+1]
FIELD: LAT_OFF.
unsigned int ossim_uint32
char theSuccess[SUCCESS_SIZE+1]
FIELD: SUCCESS.
char theGeodeticLatScale[GEODETIC_LAT_SCALE_SIZE+1]
FIELD: LAT_SCALE.
char theGeodeticHeightOffset[GEODETIC_HEIGHT_OFFSET_SIZE+1]
FIELD: HEIGHT_OFF.
virtual void clearFields()
Clears all string fields within the record to some default nothingness.
char theGeodeticLonOffset[GEODETIC_LON_OFFSET_SIZE+1]
FIELD: LONG_OFF.
char theSampleOffset[SAMPLE_OFFSET_SIZE+1]
FIELD: SAMP_OFF.
char theLineOffset[LINE_OFFSET_SIZE+1]
FIELD: LINE_OFF.
std::vector< ossimString > theLineDenominatorCoefficient
FIELD: LINE_DEN_COEFF_1 through LINE_DEN_COEFF_20.

◆ print()

std::ostream & ossimNitfRpcBase::print ( std::ostream &  out,
const std::string &  prefix = std::string() 
) const
virtual

Print method that outputs a key/value type format adding prefix to keys.

Parameters
outStream to output to.
prefixPrefix added to key like "image0.";

Reimplemented from ossimNitfRegisteredTag.

Definition at line 738 of file ossimNitfRpcBase.cpp.

References ossimNitfRegisteredTag::getSizeInBytes(), ossimNitfRegisteredTag::getTagName(), LINE_DENOMINATOR_COEFFICIENT_COUNT, LINE_NUMERATOR_COEFFICIENT_COUNT, theErrorBias, theErrRand, theGeodeticHeightOffset, theGeodeticHeightScale, theGeodeticLatOffset, theGeodeticLatScale, theGeodeticLonOffset, theGeodeticLonScale, theLineDenominatorCoefficient, theLineNumeratorCoefficient, theLineOffset, theLineScale, theSampleDenominatorCoefficient, theSampleNumeratorCoefficient, theSampleOffset, theSampleScale, theSuccess, and ossimString::toString().

740 {
741  std::string pfx = prefix;
742  pfx += getTagName();
743  pfx += ".";
744 
745  out << setiosflags(std::ios::left)
746  << pfx << std::setw(24) << "CETAG:"
747  << getTagName() << "\n"
748  << pfx << std::setw(24) << "CEL:"
749  << getSizeInBytes() << "\n"
750  << pfx << std::setw(24) << "SUCCESS:"
751  << theSuccess << "\n"
752  << pfx << std::setw(24) << "ERR_BIAS:"
753  << theErrorBias << "\n"
754  << pfx << std::setw(24) << "ERR_RAND:"
755  <<theErrRand << "\n"
756  << pfx << std::setw(24) << "LINE_OFF:"
757  << theLineOffset << "\n"
758  << pfx << std::setw(24) << "SAMP_OFF:"
759  << theSampleOffset << "\n"
760  << pfx << std::setw(24) << "LAT_OFF:"
761  << theGeodeticLatOffset << "\n"
762  << pfx << std::setw(24) << "LONG_OFF:"
763  << theGeodeticLonOffset << "\n"
764  << pfx << std::setw(24) << "HEIGHT_OFF:"
765  << theGeodeticHeightOffset << "\n"
766  << pfx << std::setw(24) << "LINE_SCALE:"
767  << theLineScale << "\n"
768  << pfx << std::setw(24)
769  << "SAMP_SCALE:" << theSampleScale << "\n"
770  << pfx << std::setw(24) << "LAT_SCALE:"
771  << theGeodeticLatScale << "\n"
772  << pfx << std::setw(24) << "LONG_SCALE:"
773  << theGeodeticLonScale << "\n"
774  << pfx << std::setw(24) << "HEIGHT_SCALE:"
775  << theGeodeticHeightScale << "\n";
776 
777  ossim_int32 i;
778  ossimString s;
779 
780  for (i=0; i<LINE_NUMERATOR_COEFFICIENT_COUNT; ++i)
781  {
782  s = "LINE_NUM_COEFF_";
783  s += ossimString::toString(i);
784  s += ":";
785  out << pfx << std::setw(24) << s
786  << theLineNumeratorCoefficient[i] << "\n";
787  }
788 
789  for (i=0; i<LINE_DENOMINATOR_COEFFICIENT_COUNT; ++i)
790  {
791  s = "LINE_DEN_COEFF_";
792  s += ossimString::toString(i);
793  s += ":";
794  out << pfx << std::setw(24) << s
795  << theLineDenominatorCoefficient[i] << "\n";
796  }
797 
798  for (i=0; i<LINE_NUMERATOR_COEFFICIENT_COUNT; ++i)
799  {
800  s = "SAMP_NUM_COEFF_";
801  s += ossimString::toString(i);
802  s += ":";
803  out << pfx << std::setw(24) << s
804  << theSampleNumeratorCoefficient[i] << "\n";
805  }
806 
807  for (i=0; i<LINE_DENOMINATOR_COEFFICIENT_COUNT; ++i)
808  {
809  s = "SAMP_DEN_COEFF_";
810  s += ossimString::toString(i);
811  s += ":";
812  out << pfx << std::setw(24) << s
813  << theSampleDenominatorCoefficient[i] << "\n";
814  }
815 
816  out.flush();
817 
818  return out;
819 }
std::vector< ossimString > theLineNumeratorCoefficient
FIELD: LINE_NUM_COEFF_1 through LINE_NUM_COEFF_20.
virtual const std::string & getTagName() const
This will return the name of the registered tag for this user defined header.
char theGeodeticLonScale[GEODETIC_LON_SCALE_SIZE+1]
FIELD: LON_SCALE.
std::vector< ossimString > theSampleNumeratorCoefficient
FIELD: SAMP_NUM_COEFF_1 through SAMP_NUM_COEFF_20.
char theErrorBias[ERROR_BIAS_SIZE+1]
FIELD: ERR_BIAS.
char theLineScale[LINE_SCALE_SIZE+1]
FIELD: LINE_SCALE.
static ossimString toString(bool aValue)
Numeric to string methods.
std::vector< ossimString > theSampleDenominatorCoefficient
FIELD: SAMP_DEN_COEFF_1 through SAMP_DEN_COEFF_20.
char theSampleScale[SAMPLE_SCALE_SIZE+1]
FIELD: SAMP_SCALE.
char theGeodeticHeightScale[GEODETIC_HEIGHT_SCALE_SIZE+1]
FIELD: HEIGHT_SCALE.
char theErrRand[ERR_RAND_SIZE+1]
FIELD ERR_RAND.
char theGeodeticLatOffset[GEODETIC_LAT_OFFSET_SIZE+1]
FIELD: LAT_OFF.
char theSuccess[SUCCESS_SIZE+1]
FIELD: SUCCESS.
char theGeodeticLatScale[GEODETIC_LAT_SCALE_SIZE+1]
FIELD: LAT_SCALE.
char theGeodeticHeightOffset[GEODETIC_HEIGHT_OFFSET_SIZE+1]
FIELD: HEIGHT_OFF.
virtual ossim_uint32 getSizeInBytes() const
Returns the length in bytes of the tag from the CEL or REL field.
char theGeodeticLonOffset[GEODETIC_LON_OFFSET_SIZE+1]
FIELD: LONG_OFF.
char theSampleOffset[SAMPLE_OFFSET_SIZE+1]
FIELD: SAMP_OFF.
char theLineOffset[LINE_OFFSET_SIZE+1]
FIELD: LINE_OFF.
std::vector< ossimString > theLineDenominatorCoefficient
FIELD: LINE_DEN_COEFF_1 through LINE_DEN_COEFF_20.
int ossim_int32

◆ setErrorBias() [1/2]

void ossimNitfRpcBase::setErrorBias ( const ossim_float64 errorBias)
Parameters
errorBiasError bias to set theErrorBias to. This will be converted to a string with two digit precision.

Definition at line 247 of file ossimNitfRpcBase.cpp.

References ossimNitfCommon::convertToDoubleString(), and ERROR_BIAS_SIZE.

Referenced by setRpcModelParams().

248 {
250  2,
252  setErrorBias(os);
253 }
static ossimString convertToDoubleString(const ossim_float64 &aValue, ossim_uint32 precision, ossim_uint32 size)
This method takes a value and converts to a string of size with requested precision with a &#39;0&#39; fill...
void setErrorBias(const ossim_float64 &errorBias)

◆ setErrorBias() [2/2]

void ossimNitfRpcBase::setErrorBias ( const ossimString errorBias)
Parameters
errorBiasbias string to set theErrorBias to.

Definition at line 255 of file ossimNitfRpcBase.cpp.

References ossimString::c_str(), ERROR_BIAS_SIZE, ossimString::length(), min, and theErrorBias.

256 {
257  memset(theErrorBias, ' ', ERROR_BIAS_SIZE);
258  memcpy(theErrorBias, errorBias.c_str(), std::min((size_t)ERROR_BIAS_SIZE, errorBias.length()));
259 }
char theErrorBias[ERROR_BIAS_SIZE+1]
FIELD: ERR_BIAS.
std::string::size_type length() const
Definition: ossimString.h:408
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
#define min(a, b)
Definition: auxiliary.h:75

◆ setErrorRand() [1/2]

void ossimNitfRpcBase::setErrorRand ( const ossim_float64 errorRand)
Parameters
errorRandThe random error to set theErrRand to. This will be converted to a string with two digit precision.

Definition at line 266 of file ossimNitfRpcBase.cpp.

References ossimNitfCommon::convertToDoubleString(), and ERROR_BIAS_SIZE.

Referenced by setRpcModelParams().

267 {
269  2,
271  setErrorRand(os);
272 }
static ossimString convertToDoubleString(const ossim_float64 &aValue, ossim_uint32 precision, ossim_uint32 size)
This method takes a value and converts to a string of size with requested precision with a &#39;0&#39; fill...
void setErrorRand(const ossim_float64 &errorRand)

◆ setErrorRand() [2/2]

void ossimNitfRpcBase::setErrorRand ( const ossimString errorRand)
Parameters
errorRanderror random string to set theErrorRand to.

Definition at line 274 of file ossimNitfRpcBase.cpp.

References ossimString::c_str(), ERR_RAND_SIZE, ossimString::length(), min, and theErrRand.

275 {
276  memset(theErrRand, ' ', ERR_RAND_SIZE);
277  memcpy(theErrRand, errorRand.c_str(), std::min((size_t)ERR_RAND_SIZE, errorRand.length()));
278 }
char theErrRand[ERR_RAND_SIZE+1]
FIELD ERR_RAND.
std::string::size_type length() const
Definition: ossimString.h:408
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
#define min(a, b)
Definition: auxiliary.h:75

◆ setGeodeticHeightOffset() [1/2]

void ossimNitfRpcBase::setGeodeticHeightOffset ( ossim_int32  geodeticHeightOffset)
Parameters
geodeticHeightOffsetvalue to Set the height offset to. Converted to a string truncated to an int.

Definition at line 370 of file ossimNitfRpcBase.cpp.

References ossimNitfCommon::convertToIntString(), and GEODETIC_HEIGHT_OFFSET_SIZE.

Referenced by setRpcModelParams().

372 {
373  ossimString os =
374  ossimNitfCommon::convertToIntString(geodeticHeightOffset,
377 }
static ossimString convertToIntString(ossim_int32 aValue, ossim_uint32 size)
Just like convertToUIntString only takes a signed value.
void setGeodeticHeightOffset(ossim_int32 geodeticHeightOffset)

◆ setGeodeticHeightOffset() [2/2]

void ossimNitfRpcBase::setGeodeticHeightOffset ( const ossimString geodeticHeightOffset)
Parameters
geodeticHeightOffsetvalue to Set the height offset to.

Definition at line 379 of file ossimNitfRpcBase.cpp.

References ossimString::c_str(), GEODETIC_HEIGHT_OFFSET_SIZE, ossimString::length(), min, and theGeodeticHeightOffset.

380 {
382  memcpy(theGeodeticHeightOffset, geodeticHeightOffset.c_str(), std::min((size_t)GEODETIC_HEIGHT_OFFSET_SIZE, geodeticHeightOffset.length()));
383 }
std::string::size_type length() const
Definition: ossimString.h:408
char theGeodeticHeightOffset[GEODETIC_HEIGHT_OFFSET_SIZE+1]
FIELD: HEIGHT_OFF.
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
#define min(a, b)
Definition: auxiliary.h:75

◆ setGeodeticHeightScale() [1/2]

void ossimNitfRpcBase::setGeodeticHeightScale ( ossim_int32  geodeticHeightScale)
Parameters
geodeticHeightScaleThe value to set the height scale to. Converted to a string truncated to an int.

Definition at line 484 of file ossimNitfRpcBase.cpp.

References ossimNitfCommon::convertToIntString(), and GEODETIC_HEIGHT_SCALE_SIZE.

Referenced by setRpcModelParams().

485 {
486  ossimString os =
487  ossimNitfCommon::convertToIntString(geodeticHeightScale,
490 }
static ossimString convertToIntString(ossim_int32 aValue, ossim_uint32 size)
Just like convertToUIntString only takes a signed value.
void setGeodeticHeightScale(ossim_int32 geodeticHeightScale)

◆ setGeodeticHeightScale() [2/2]

void ossimNitfRpcBase::setGeodeticHeightScale ( const ossimString geodeticHeightScale)
Parameters
geodeticHeightScaleThe value to set the height scale to.

Definition at line 492 of file ossimNitfRpcBase.cpp.

References ossimString::c_str(), GEODETIC_HEIGHT_SCALE_SIZE, ossimString::length(), min, and theGeodeticHeightScale.

494 {
496  memcpy(theGeodeticHeightScale, geodeticHeightScale.c_str(), std::min((size_t)GEODETIC_HEIGHT_SCALE_SIZE, geodeticHeightScale.length()));
497 }
char theGeodeticHeightScale[GEODETIC_HEIGHT_SCALE_SIZE+1]
FIELD: HEIGHT_SCALE.
std::string::size_type length() const
Definition: ossimString.h:408
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
#define min(a, b)
Definition: auxiliary.h:75

◆ setGeodeticLatOffset() [1/2]

void ossimNitfRpcBase::setGeodeticLatOffset ( const ossim_float64 geodeticLatOffset)
Parameters
geodeticLatOffsetValue to Set the geodedic latitude offset to. Converted to a string with four digit precision.

Definition at line 321 of file ossimNitfRpcBase.cpp.

References ossimNitfCommon::convertToDoubleString(), and GEODETIC_LAT_OFFSET_SIZE.

Referenced by setRpcModelParams().

323 {
324  if ( (geodeticLatOffset >= -90.0) && (geodeticLatOffset <= 90.0) )
325  {
326  ossimString os =
327  ossimNitfCommon::convertToDoubleString(geodeticLatOffset,
328  4,
331  }
332 }
void setGeodeticLatOffset(const ossim_float64 &geodeticLatOffset)
static ossimString convertToDoubleString(const ossim_float64 &aValue, ossim_uint32 precision, ossim_uint32 size)
This method takes a value and converts to a string of size with requested precision with a &#39;0&#39; fill...

◆ setGeodeticLatOffset() [2/2]

void ossimNitfRpcBase::setGeodeticLatOffset ( const ossimString geodeticLatOffset)
Parameters
geodeticLatOffsetgeodedic latitude offset string to set theGeodeticLatOffset to.

Definition at line 334 of file ossimNitfRpcBase.cpp.

References ossimString::c_str(), GEODETIC_LAT_OFFSET_SIZE, ossimString::length(), min, and theGeodeticLatOffset.

336 {
338  memcpy(theGeodeticLatOffset, geodeticLatOffset.c_str(), std::min((size_t)GEODETIC_LAT_OFFSET_SIZE, geodeticLatOffset.length()));
339 }
std::string::size_type length() const
Definition: ossimString.h:408
char theGeodeticLatOffset[GEODETIC_LAT_OFFSET_SIZE+1]
FIELD: LAT_OFF.
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
#define min(a, b)
Definition: auxiliary.h:75

◆ setGeodeticLatScale() [1/2]

void ossimNitfRpcBase::setGeodeticLatScale ( const ossim_float64 geodeticLatScale)
Parameters
geodeticLatScaleThe value to set the geodedic latitude scale to. Converted to a string with four digit precision.

Definition at line 426 of file ossimNitfRpcBase.cpp.

References ossimNitfCommon::convertToDoubleString(), and GEODETIC_LAT_SCALE_SIZE.

Referenced by setRpcModelParams().

428 {
429  if (geodeticLatScale == 0.0)
430  {
431  // Error scale cannot be zero.
432  return;
433  }
434 
435  if ( (geodeticLatScale >= -90.0) && (geodeticLatScale <= 90.0) )
436  {
438  4,
441  }
442 }
void setGeodeticLatScale(const ossim_float64 &geodeticLatScale)
static ossimString convertToDoubleString(const ossim_float64 &aValue, ossim_uint32 precision, ossim_uint32 size)
This method takes a value and converts to a string of size with requested precision with a &#39;0&#39; fill...

◆ setGeodeticLatScale() [2/2]

void ossimNitfRpcBase::setGeodeticLatScale ( const ossimString geodeticLatScale)
Parameters
geodeticLatScaleThe value to set the geodedic latitude scale to.

Definition at line 444 of file ossimNitfRpcBase.cpp.

References ossimString::c_str(), GEODETIC_LAT_SCALE_SIZE, ossimString::length(), min, and theGeodeticLatScale.

445 {
447  memcpy(theGeodeticLatScale, geodeticLatScale.c_str(), std::min((size_t)GEODETIC_LAT_SCALE_SIZE, geodeticLatScale.length()));
448 }
std::string::size_type length() const
Definition: ossimString.h:408
char theGeodeticLatScale[GEODETIC_LAT_SCALE_SIZE+1]
FIELD: LAT_SCALE.
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
#define min(a, b)
Definition: auxiliary.h:75

◆ setGeodeticLonOffset() [1/2]

void ossimNitfRpcBase::setGeodeticLonOffset ( const ossim_float64 geodeticLonOffset)
Parameters
geodeticLonOffsetValue to Set the geodedic longitude offset to. Converted to a string with four digit precision.

Definition at line 346 of file ossimNitfRpcBase.cpp.

References ossimNitfCommon::convertToDoubleString(), and GEODETIC_LON_OFFSET_SIZE.

Referenced by setRpcModelParams().

348 {
349  if ( (geodeticLonOffset >= -180.0) && (geodeticLonOffset <= 180.0) )
350  {
351  ossimString os =
352  ossimNitfCommon::convertToDoubleString(geodeticLonOffset,
353  4,
356  }
357 }
void setGeodeticLonOffset(const ossim_float64 &geodeticLonOffset)
static ossimString convertToDoubleString(const ossim_float64 &aValue, ossim_uint32 precision, ossim_uint32 size)
This method takes a value and converts to a string of size with requested precision with a &#39;0&#39; fill...

◆ setGeodeticLonOffset() [2/2]

void ossimNitfRpcBase::setGeodeticLonOffset ( const ossimString geodeticLonOffset)
Parameters
geodeticLonOffsetValue to Set the geodedic longitude offset to.

Definition at line 359 of file ossimNitfRpcBase.cpp.

References ossimString::c_str(), GEODETIC_LON_OFFSET_SIZE, ossimString::length(), min, and theGeodeticLonOffset.

360 {
362  memcpy(theGeodeticLonOffset, geodeticLonOffset.c_str(), std::min((size_t)GEODETIC_LON_OFFSET_SIZE, geodeticLonOffset.length()));
363 }
std::string::size_type length() const
Definition: ossimString.h:408
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
char theGeodeticLonOffset[GEODETIC_LON_OFFSET_SIZE+1]
FIELD: LONG_OFF.
#define min(a, b)
Definition: auxiliary.h:75

◆ setGeodeticLonScale() [1/2]

void ossimNitfRpcBase::setGeodeticLonScale ( const ossim_float64 geodeticLonScale)
Parameters
geodeticLonScaleThe value to set the geodedic longitude scale to. Converted to a string with four digit precision.

Definition at line 455 of file ossimNitfRpcBase.cpp.

References ossimNitfCommon::convertToDoubleString(), and GEODETIC_LON_SCALE_SIZE.

Referenced by setRpcModelParams().

457 {
458  if (geodeticLonScale == 0.0)
459  {
460  // Error scale cannot be zero.
461  return;
462  }
463 
464  if ( (geodeticLonScale >= -180.0) && (geodeticLonScale <= 180.0) )
465  {
467  4,
470  }
471 }
static ossimString convertToDoubleString(const ossim_float64 &aValue, ossim_uint32 precision, ossim_uint32 size)
This method takes a value and converts to a string of size with requested precision with a &#39;0&#39; fill...
void setGeodeticLonScale(const ossim_float64 &geodeticLonScale)

◆ setGeodeticLonScale() [2/2]

void ossimNitfRpcBase::setGeodeticLonScale ( const ossimString geodeticLonScale)
Parameters
geodeticLonScaleThe value to set the geodedic longitude scale to.

Definition at line 473 of file ossimNitfRpcBase.cpp.

References ossimString::c_str(), GEODETIC_LON_SCALE_SIZE, ossimString::length(), min, and theGeodeticLonScale.

474 {
476  memcpy(theGeodeticLonScale, geodeticLonScale.c_str(), std::min((size_t)GEODETIC_LON_SCALE_SIZE, geodeticLonScale.length()));
477 }
char theGeodeticLonScale[GEODETIC_LON_SCALE_SIZE+1]
FIELD: LON_SCALE.
std::string::size_type length() const
Definition: ossimString.h:408
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
#define min(a, b)
Definition: auxiliary.h:75

◆ setLineDenominatorCoeff() [1/2]

void ossimNitfRpcBase::setLineDenominatorCoeff ( const std::vector< ossim_float64 > &  coeff)
Parameters
coeffThis should be an array of 20 line denominator coefficients. Coefficients will be converted to a scientific string to conform to specification.
Note
if (coeff.size() != 20) no action is taken.

Definition at line 585 of file ossimNitfRpcBase.cpp.

References LINE_DENOMINATOR_COEFFICIENT_COUNT.

Referenced by setRpcModelParams().

587 {
588  if (coeff.size() != LINE_DENOMINATOR_COEFFICIENT_COUNT)
589  {
590  // Error...
591  if (traceDebug())
592  {
594  << "ossimNitfRpcBase::setLineDenominatorCoeff WARNING:"
595  << "\nArray not of correct size!"
596  << std::endl;
597  }
598  return;
599  }
600 
602  {
606  }
607 }
static ossimString convertToScientificString(const ossim_float64 &aValue, ossim_uint32 size)
This method takes a value and a size(or width) and converts it to a scientific notation sting in the ...
unsigned int ossim_uint32
void setLineDenominatorCoeff(const std::vector< ossim_float64 > &coeff)
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ setLineDenominatorCoeff() [2/2]

void ossimNitfRpcBase::setLineDenominatorCoeff ( ossim_uint32  idx,
const ossimString coeff 
)
Parameters
idxindex of line denominator coefficient to set. Range: 0 - 19
lineDenominatorCoeffValue to set line denominator coefficient to for idx or index.

Definition at line 609 of file ossimNitfRpcBase.cpp.

References LINE_DENOMINATOR_COEFFICIENT_COUNT, LINE_DENOMINATOR_COEFFICIENT_SIZE, ossimNotify(), ossimNotifyLevel_WARN, and theLineDenominatorCoefficient.

611 {
612  // ASSERT_ARRAY_CONSTRAINT(idx >= 0 && idx < LINE_DENOMINATOR_COEFFICIENT_COUNT,idx,0,"ossimNitfRpcBase::setLineDenominatorCoeff");
613 
615  {
617  << "ossimNitfRpcBase::setLineDenominatorCoeff range error!"
618  << std::endl;
619  return;
620  }
621 
622  std::string s(coeff, 0, LINE_DENOMINATOR_COEFFICIENT_SIZE);
624 }
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
std::vector< ossimString > theLineDenominatorCoefficient
FIELD: LINE_DEN_COEFF_1 through LINE_DEN_COEFF_20.

◆ setLineNumeratorCoeff() [1/2]

void ossimNitfRpcBase::setLineNumeratorCoeff ( const std::vector< ossim_float64 > &  coeff)
Parameters
coeffThis should be an array of 20 line numerator coefficients. Coefficients will be converted to a scientific string to conform to specification.
Note
if (coeff.size() != 20) no action is taken.

Definition at line 529 of file ossimNitfRpcBase.cpp.

References LINE_NUMERATOR_COEFFICIENT_COUNT.

Referenced by setRpcModelParams().

531 {
532  if (coeff.size() != LINE_NUMERATOR_COEFFICIENT_COUNT)
533  {
534  // Error...
535  if (traceDebug())
536  {
538  << "ossimNitfRpcBase::setLineNumeratorCoeff WARNING:"
539  << "\nArray not of correct size!"
540  << std::endl;
541  }
542  return;
543  }
544 
545  for (ossim_uint32 i = 0; i < LINE_NUMERATOR_COEFFICIENT_COUNT; ++i)
546  {
549  setLineNumeratorCoeff(i, os);
550  }
551 }
static ossimString convertToScientificString(const ossim_float64 &aValue, ossim_uint32 size)
This method takes a value and a size(or width) and converts it to a scientific notation sting in the ...
unsigned int ossim_uint32
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
void setLineNumeratorCoeff(const std::vector< ossim_float64 > &coeff)

◆ setLineNumeratorCoeff() [2/2]

void ossimNitfRpcBase::setLineNumeratorCoeff ( ossim_uint32  idx,
const ossimString coeff 
)
Parameters
idxindex of line numerator coefficient to set. Range: 0 - 19
coeffValue to set line numerator coefficient to for idx or index.

Definition at line 553 of file ossimNitfRpcBase.cpp.

References LINE_NUMERATOR_COEFFICIENT_COUNT, LINE_NUMERATOR_COEFFICIENT_SIZE, ossimNotify(), ossimNotifyLevel_WARN, and theLineNumeratorCoefficient.

555 {
556  // ASSERT_ARRAY_CONSTRAINT(idx >= 0 && idx < LINE_NUMERATOR_COEFFICIENT_COUNT,idx,0,"ossimNitfRpcBase::setLineNumeratorCoeff");
557 
559  {
561  << "ossimNitfRpcBase::setLineNumeratorCoeff range error!"
562  << std::endl;
563  return;
564  }
565 
566  std::string s(coeff, 0, LINE_NUMERATOR_COEFFICIENT_SIZE);
567  theLineNumeratorCoefficient[idx] = s;
568 }
std::vector< ossimString > theLineNumeratorCoefficient
FIELD: LINE_NUM_COEFF_1 through LINE_NUM_COEFF_20.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ setLineOffset() [1/2]

void ossimNitfRpcBase::setLineOffset ( ossim_uint32  lineOffset)
Parameters
lineOffsetSets the line offset to a string truncated to an int.

Definition at line 285 of file ossimNitfRpcBase.cpp.

References ossimNitfCommon::convertToUIntString(), and LINE_OFFSET_SIZE.

Referenced by setRpcModelParams().

286 {
289  setLineOffset(os);
290 }
void setLineOffset(ossim_uint32 lineOffset)
static ossimString convertToUIntString(ossim_uint32 aValue, ossim_uint32 size)
This method takes a value and converts to a string of size with with a &#39;0&#39; fill.

◆ setLineOffset() [2/2]

void ossimNitfRpcBase::setLineOffset ( const ossimString lineOffset)
Parameters
lineOffsetSets theLineOffset to lineOffset string.

Definition at line 292 of file ossimNitfRpcBase.cpp.

References ossimString::c_str(), ossimString::length(), LINE_OFFSET_SIZE, min, and theLineOffset.

293 {
294  memset(theLineOffset, ' ', LINE_OFFSET_SIZE);
295  memcpy(theLineOffset, lineOffset.c_str(), std::min((size_t)LINE_OFFSET_SIZE, lineOffset.length()));
296 }
std::string::size_type length() const
Definition: ossimString.h:408
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
char theLineOffset[LINE_OFFSET_SIZE+1]
FIELD: LINE_OFF.
#define min(a, b)
Definition: auxiliary.h:75

◆ setLineScale() [1/2]

void ossimNitfRpcBase::setLineScale ( ossim_uint32  lineScale)
Parameters
lineScaleThe value to set the line scale to. Converted to a string.

Definition at line 390 of file ossimNitfRpcBase.cpp.

References ossimNitfCommon::convertToUIntString(), and LINE_SCALE_SIZE.

Referenced by setRpcModelParams().

391 {
394  setLineScale(os);
395 }
void setLineScale(ossim_uint32 lineScale)
static ossimString convertToUIntString(ossim_uint32 aValue, ossim_uint32 size)
This method takes a value and converts to a string of size with with a &#39;0&#39; fill.

◆ setLineScale() [2/2]

void ossimNitfRpcBase::setLineScale ( const ossimString lineScale)
Parameters
lineScaleThe value to set the line scale to.

Definition at line 397 of file ossimNitfRpcBase.cpp.

References ossimString::c_str(), ossimString::length(), LINE_SCALE_SIZE, min, and theLineScale.

398 {
399  memset(theLineScale, ' ', LINE_SCALE_SIZE);
400  memcpy(theLineScale, lineScale.c_str(), std::min((size_t)LINE_SCALE_SIZE, lineScale.length()));
401 }
char theLineScale[LINE_SCALE_SIZE+1]
FIELD: LINE_SCALE.
std::string::size_type length() const
Definition: ossimString.h:408
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
#define min(a, b)
Definition: auxiliary.h:75

◆ setProperty()

void ossimNitfRpcBase::setProperty ( ossimRefPtr< ossimProperty property)
virtual

Reimplemented from ossimNitfRegisteredTag.

Definition at line 821 of file ossimNitfRpcBase.cpp.

822 {
823 
824 }

◆ setRpcModelParams()

void ossimNitfRpcBase::setRpcModelParams ( ossimRefPtr< ossimRpcModel rpc)
virtual

For generating the RPC tag from existing RPC Model.

Definition at line 193 of file ossimNitfRpcBase.cpp.

References setErrorBias(), setErrorRand(), setGeodeticHeightOffset(), setGeodeticHeightScale(), setGeodeticLatOffset(), setGeodeticLatScale(), setGeodeticLonOffset(), setGeodeticLonScale(), setLineDenominatorCoeff(), setLineNumeratorCoeff(), setLineOffset(), setLineScale(), setSampleDenominatorCoeff(), setSampleNumeratorCoeff(), setSampleOffset(), setSampleScale(), ossimRpcModel::theBiasError, ossimRpcModel::theHgtOffset, ossimRpcModel::theHgtScale, ossimRpcModel::theLatOffset, ossimRpcModel::theLatScale, ossimRpcModel::theLineDenCoef, ossimRpcModel::theLineNumCoef, ossimRpcModel::theLineOffset, ossimRpcModel::theLineScale, ossimRpcModel::theLonOffset, ossimRpcModel::theLonScale, ossimRpcModel::theRandError, ossimRpcModel::theSampDenCoef, ossimRpcModel::theSampNumCoef, ossimRpcModel::theSampOffset, ossimRpcModel::theSampScale, and theSuccess.

Referenced by ossimRpcSolver::getNitfRpcBTag().

194 {
195  theSuccess[0] = '0';
196  if (!rpc)
197  return;
198 
199  theSuccess[0] = '1';
202  setLineOffset((int) rpc->theLineOffset);
203  setSampleOffset((int) rpc->theSampOffset);
207  setLineScale((int) rpc->theLineScale);
208  setSampleScale((int) rpc->theSampScale);
212 
213  int idx;
214  vector<double> coef (20);
215  for(idx = 0; idx < 20; ++idx)
216  coef.push_back(rpc->theLineNumCoef[idx]);
217  setLineNumeratorCoeff(coef);
218 
219  for(idx = 0; idx < 20; ++idx)
220  coef[idx] = rpc->theLineDenCoef[idx];
222 
223  for(idx = 0; idx < 20; ++idx)
224  coef[idx] = rpc->theSampNumCoef[idx];
226 
227  for(idx = 0; idx < 20; ++idx)
228  coef[idx] = rpc->theSampDenCoef[idx];
230 }
double theSampOffset
double theSampNumCoef[20]
void setLineScale(ossim_uint32 lineScale)
void setGeodeticLatOffset(const ossim_float64 &geodeticLatOffset)
void setSampleScale(ossim_uint32 sampleScale)
double theLonScale
void setSampleDenominatorCoeff(const std::vector< ossim_float64 > &coeff)
double theLineScale
void setGeodeticLatScale(const ossim_float64 &geodeticLatScale)
double theSampDenCoef[20]
double theLineNumCoef[20]
double theLatOffset
void setGeodeticLonOffset(const ossim_float64 &geodeticLonOffset)
double theHgtOffset
double theLonOffset
double theRandError
void setSampleNumeratorCoeff(const std::vector< ossim_float64 > &coeff)
void setErrorRand(const ossim_float64 &errorRand)
double theLatScale
void setSampleOffset(ossim_uint32 sampleOffset)
void setGeodeticLonScale(const ossim_float64 &geodeticLonScale)
char theSuccess[SUCCESS_SIZE+1]
FIELD: SUCCESS.
void setLineOffset(ossim_uint32 lineOffset)
void setErrorBias(const ossim_float64 &errorBias)
double theSampScale
void setLineDenominatorCoeff(const std::vector< ossim_float64 > &coeff)
double theLineDenCoef[20]
double theLineOffset
double theHgtScale
double theBiasError
error
void setGeodeticHeightScale(ossim_int32 geodeticHeightScale)
void setLineNumeratorCoeff(const std::vector< ossim_float64 > &coeff)
void setGeodeticHeightOffset(ossim_int32 geodeticHeightOffset)

◆ setSampleDenominatorCoeff() [1/2]

void ossimNitfRpcBase::setSampleDenominatorCoeff ( const std::vector< ossim_float64 > &  coeff)
Parameters
coeffThis should be an array of 20 sample denominator coefficients. Coefficients will be converted to a scientific string to conform to specification.
Note
if (coeff.size() != 20) no action is taken.

Definition at line 696 of file ossimNitfRpcBase.cpp.

References SAMPLE_DENOMINATOR_COEFFICIENT_COUNT.

Referenced by setRpcModelParams().

698 {
699  if (coeff.size() != SAMPLE_DENOMINATOR_COEFFICIENT_COUNT)
700  {
701  // Error...
702  if (traceDebug())
703  {
705  << "ossimNitfRpcBase::setSampleDenominatorCoeff WARNING:"
706  << "\nArray not of correct size!"
707  << std::endl;
708  }
709  return;
710  }
711 
713  {
717  }
718 }
void setSampleDenominatorCoeff(const std::vector< ossim_float64 > &coeff)
static ossimString convertToScientificString(const ossim_float64 &aValue, ossim_uint32 size)
This method takes a value and a size(or width) and converts it to a scientific notation sting in the ...
unsigned int ossim_uint32
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ setSampleDenominatorCoeff() [2/2]

void ossimNitfRpcBase::setSampleDenominatorCoeff ( ossim_uint32  idx,
const ossimString coeff 
)
Parameters
idxindex of sample denominator coefficient to set. Range: 0 - 19
sampleDenominatorCoeffValue to set sample denominator coefficient to for idx or index.

Definition at line 720 of file ossimNitfRpcBase.cpp.

References ossimNotify(), ossimNotifyLevel_WARN, SAMPLE_DENOMINATOR_COEFFICIENT_COUNT, SAMPLE_DENOMINATOR_COEFFICIENT_SIZE, and theSampleDenominatorCoefficient.

722 {
723  // ASSERT_ARRAY_CONSTRAINT(idx >= 0 && idx < SAMPLE_DENOMINATOR_COEFFICIENT_COUNT,idx,0,"ossimNitfRpcBase::setSampleDenominatorCoeff");
724 
726  {
728  << "ossimNitfRpcBase::setSampleDenominatorCoeff range error!"
729  << std::endl;
730  return;
731  }
732 
733  std::string s(coeff, 0, SAMPLE_DENOMINATOR_COEFFICIENT_SIZE);
736 }
std::vector< ossimString > theSampleDenominatorCoefficient
FIELD: SAMP_DEN_COEFF_1 through SAMP_DEN_COEFF_20.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ setSampleNumeratorCoeff() [1/2]

void ossimNitfRpcBase::setSampleNumeratorCoeff ( const std::vector< ossim_float64 > &  coeff)
Parameters
coeffThis should be an array of 20 sample numerator coefficients. Coefficients will be converted to a scientific string to conform to specification.
Note
if (coeff.size() != 20) no action is taken.

Definition at line 640 of file ossimNitfRpcBase.cpp.

References SAMPLE_NUMERATOR_COEFFICIENT_COUNT.

Referenced by setRpcModelParams().

642 {
643  if (coeff.size() != SAMPLE_NUMERATOR_COEFFICIENT_COUNT)
644  {
645  // Error...
646  if (traceDebug())
647  {
649  << "ossimNitfRpcBase::setSampleNumeratorCoeff WARNING:"
650  << "\nArray not of correct size!"
651  << std::endl;
652  }
653  return;
654  }
655 
657  {
661  }
662 }
void setSampleNumeratorCoeff(const std::vector< ossim_float64 > &coeff)
static ossimString convertToScientificString(const ossim_float64 &aValue, ossim_uint32 size)
This method takes a value and a size(or width) and converts it to a scientific notation sting in the ...
unsigned int ossim_uint32
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ setSampleNumeratorCoeff() [2/2]

void ossimNitfRpcBase::setSampleNumeratorCoeff ( ossim_uint32  idx,
const ossimString coeff 
)
Parameters
idxindex of sample numerator coefficient to set. Range: 0 - 19
coeffValue to set sample numerator coefficient to for idx or index.

Definition at line 664 of file ossimNitfRpcBase.cpp.

References ossimNotify(), ossimNotifyLevel_WARN, SAMPLE_NUMERATOR_COEFFICIENT_COUNT, SAMPLE_NUMERATOR_COEFFICIENT_SIZE, and theSampleNumeratorCoefficient.

666 {
667  // ASSERT_ARRAY_CONSTRAINT(idx >= 0 && idx < SAMPLE_NUMERATOR_COEFFICIENT_COUNT,idx,0,"ossimNitfRpcBase::setSampleNumeratorCoeff");
668 
670  {
672  << "ossimNitfRpcBase::setSampleNumeratorCoeff range error!"
673  << std::endl;
674  return;
675  }
676 
677  std::string s(coeff, 0, SAMPLE_NUMERATOR_COEFFICIENT_SIZE);
679 }
std::vector< ossimString > theSampleNumeratorCoefficient
FIELD: SAMP_NUM_COEFF_1 through SAMP_NUM_COEFF_20.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ setSampleOffset() [1/2]

void ossimNitfRpcBase::setSampleOffset ( ossim_uint32  sampleOffset)
Parameters
sampleOffsetSets the sample offset to a string truncated to an int.

Definition at line 303 of file ossimNitfRpcBase.cpp.

References ossimNitfCommon::convertToUIntString(), and SAMPLE_OFFSET_SIZE.

Referenced by setRpcModelParams().

304 {
307  setSampleOffset(os);
308 }
void setSampleOffset(ossim_uint32 sampleOffset)
static ossimString convertToUIntString(ossim_uint32 aValue, ossim_uint32 size)
This method takes a value and converts to a string of size with with a &#39;0&#39; fill.

◆ setSampleOffset() [2/2]

void ossimNitfRpcBase::setSampleOffset ( const ossimString sampleOffset)
Parameters
sampleOffsetSets the sample offset to a string.

Definition at line 310 of file ossimNitfRpcBase.cpp.

References ossimString::c_str(), ossimString::length(), min, SAMPLE_OFFSET_SIZE, and theSampleOffset.

311 {
312  memset(theSampleOffset, ' ', SAMPLE_OFFSET_SIZE);
313  memcpy(theSampleOffset, sampleOffset.c_str(), std::min((size_t)SAMPLE_OFFSET_SIZE, sampleOffset.length()));
314 }
std::string::size_type length() const
Definition: ossimString.h:408
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
char theSampleOffset[SAMPLE_OFFSET_SIZE+1]
FIELD: SAMP_OFF.
#define min(a, b)
Definition: auxiliary.h:75

◆ setSampleScale() [1/2]

void ossimNitfRpcBase::setSampleScale ( ossim_uint32  sampleScale)
Parameters
sampleScaleThe value to set the sample scale to. Converted to a string truncated to an int.

Definition at line 408 of file ossimNitfRpcBase.cpp.

References ossimNitfCommon::convertToUIntString(), and SAMPLE_SCALE_SIZE.

Referenced by setRpcModelParams().

409 {
412  setSampleScale(os);
413 }
void setSampleScale(ossim_uint32 sampleScale)
static ossimString convertToUIntString(ossim_uint32 aValue, ossim_uint32 size)
This method takes a value and converts to a string of size with with a &#39;0&#39; fill.

◆ setSampleScale() [2/2]

void ossimNitfRpcBase::setSampleScale ( const ossimString sampleScale)
Parameters
sampleScaleThe value to set the sample scale to.

Definition at line 415 of file ossimNitfRpcBase.cpp.

References ossimString::c_str(), ossimString::length(), min, SAMPLE_SCALE_SIZE, and theSampleScale.

416 {
417  memset(theSampleScale, ' ', SAMPLE_SCALE_SIZE);
418  memcpy(theSampleScale, sampleScale.c_str(), std::min((size_t)SAMPLE_SCALE_SIZE, sampleScale.length()));
419 }
char theSampleScale[SAMPLE_SCALE_SIZE+1]
FIELD: SAMP_SCALE.
std::string::size_type length() const
Definition: ossimString.h:408
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
#define min(a, b)
Definition: auxiliary.h:75

◆ setSuccess()

void ossimNitfRpcBase::setSuccess ( bool  success)
Parameters
successSets data member theSuccess to success.

Definition at line 237 of file ossimNitfRpcBase.cpp.

References theSuccess.

238 {
239  theSuccess[0] = success?'1':'0';
240 }
char theSuccess[SUCCESS_SIZE+1]
FIELD: SUCCESS.

◆ writeStream()

void ossimNitfRpcBase::writeStream ( std::ostream &  out)
virtual

Write method.

Parameters
outStream to write to.

Definition at line 108 of file ossimNitfRpcBase.cpp.

References ERR_RAND_SIZE, ERROR_BIAS_SIZE, GEODETIC_HEIGHT_OFFSET_SIZE, GEODETIC_HEIGHT_SCALE_SIZE, GEODETIC_LAT_OFFSET_SIZE, GEODETIC_LAT_SCALE_SIZE, GEODETIC_LON_OFFSET_SIZE, GEODETIC_LON_SCALE_SIZE, LINE_DENOMINATOR_COEFFICIENT_COUNT, LINE_DENOMINATOR_COEFFICIENT_SIZE, LINE_NUMERATOR_COEFFICIENT_COUNT, LINE_NUMERATOR_COEFFICIENT_SIZE, LINE_OFFSET_SIZE, LINE_SCALE_SIZE, SAMPLE_DENOMINATOR_COEFFICIENT_COUNT, SAMPLE_DENOMINATOR_COEFFICIENT_SIZE, SAMPLE_NUMERATOR_COEFFICIENT_COUNT, SAMPLE_NUMERATOR_COEFFICIENT_SIZE, SAMPLE_OFFSET_SIZE, SAMPLE_SCALE_SIZE, SUCCESS_SIZE, theErrorBias, theErrRand, theGeodeticHeightOffset, theGeodeticHeightScale, theGeodeticLatOffset, theGeodeticLatScale, theGeodeticLonOffset, theGeodeticLonScale, theLineDenominatorCoefficient, theLineNumeratorCoefficient, theLineOffset, theLineScale, theSampleDenominatorCoefficient, theSampleNumeratorCoefficient, theSampleOffset, theSampleScale, and theSuccess.

109 {
110  ossim_uint32 idx = 0;
111 
112  out.write(theSuccess, SUCCESS_SIZE);
113  out.write(theErrorBias, ERROR_BIAS_SIZE);
114  out.write(theErrRand, ERR_RAND_SIZE);
115  out.write(theLineOffset, LINE_OFFSET_SIZE);
120  out.write(theLineScale, LINE_SCALE_SIZE);
121  out.write(theSampleScale, SAMPLE_SCALE_SIZE);
125  for(idx = 0; idx < LINE_NUMERATOR_COEFFICIENT_COUNT; ++idx)
126  {
127  out.write(theLineNumeratorCoefficient[idx].c_str(),
129  }
130  for(idx = 0; idx < LINE_DENOMINATOR_COEFFICIENT_COUNT; ++idx)
131  {
132  out.write(theLineDenominatorCoefficient[idx].c_str(),
134  }
135  for(idx = 0; idx < SAMPLE_NUMERATOR_COEFFICIENT_COUNT; ++idx)
136  {
137  out.write(theSampleNumeratorCoefficient[idx].c_str(),
139  }
140  for(idx = 0; idx < SAMPLE_DENOMINATOR_COEFFICIENT_COUNT; ++idx)
141  {
142  out.write(theSampleDenominatorCoefficient[idx].c_str(),
144  }
145 }
std::vector< ossimString > theLineNumeratorCoefficient
FIELD: LINE_NUM_COEFF_1 through LINE_NUM_COEFF_20.
char theGeodeticLonScale[GEODETIC_LON_SCALE_SIZE+1]
FIELD: LON_SCALE.
std::vector< ossimString > theSampleNumeratorCoefficient
FIELD: SAMP_NUM_COEFF_1 through SAMP_NUM_COEFF_20.
char theErrorBias[ERROR_BIAS_SIZE+1]
FIELD: ERR_BIAS.
char theLineScale[LINE_SCALE_SIZE+1]
FIELD: LINE_SCALE.
std::vector< ossimString > theSampleDenominatorCoefficient
FIELD: SAMP_DEN_COEFF_1 through SAMP_DEN_COEFF_20.
char theSampleScale[SAMPLE_SCALE_SIZE+1]
FIELD: SAMP_SCALE.
char theGeodeticHeightScale[GEODETIC_HEIGHT_SCALE_SIZE+1]
FIELD: HEIGHT_SCALE.
char theErrRand[ERR_RAND_SIZE+1]
FIELD ERR_RAND.
char theGeodeticLatOffset[GEODETIC_LAT_OFFSET_SIZE+1]
FIELD: LAT_OFF.
unsigned int ossim_uint32
char theSuccess[SUCCESS_SIZE+1]
FIELD: SUCCESS.
char theGeodeticLatScale[GEODETIC_LAT_SCALE_SIZE+1]
FIELD: LAT_SCALE.
char theGeodeticHeightOffset[GEODETIC_HEIGHT_OFFSET_SIZE+1]
FIELD: HEIGHT_OFF.
char theGeodeticLonOffset[GEODETIC_LON_OFFSET_SIZE+1]
FIELD: LONG_OFF.
char theSampleOffset[SAMPLE_OFFSET_SIZE+1]
FIELD: SAMP_OFF.
char theLineOffset[LINE_OFFSET_SIZE+1]
FIELD: LINE_OFF.
std::vector< ossimString > theLineDenominatorCoefficient
FIELD: LINE_DEN_COEFF_1 through LINE_DEN_COEFF_20.

Member Data Documentation

◆ theErrorBias

char ossimNitfRpcBase::theErrorBias[ERROR_BIAS_SIZE+1]
protected

FIELD: ERR_BIAS.

required 7 byte field

Error - Bias. 68% non time-varying error estimate assumes correlated images.

Values range from 0000.00 to 9999.99 meters

Definition at line 400 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getErrorBias(), loadState(), parseStream(), print(), setErrorBias(), and writeStream().

◆ theErrRand

char ossimNitfRpcBase::theErrRand[ERR_RAND_SIZE+1]
protected

FIELD ERR_RAND.

Required 7 byte field

Error - Random. 68% time-varying error estimate assumes correlated images. 0000.00 to 9999.99 meters

Definition at line 410 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getErrorRand(), loadState(), parseStream(), print(), setErrorRand(), and writeStream().

◆ theGeodeticHeightOffset

char ossimNitfRpcBase::theGeodeticHeightOffset[GEODETIC_HEIGHT_OFFSET_SIZE+1]
protected

FIELD: HEIGHT_OFF.

required 5 byte field.

holds the height offset in meters and ranges from +-9999

Definition at line 455 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getGeodeticHeightOffset(), loadState(), parseStream(), print(), setGeodeticHeightOffset(), and writeStream().

◆ theGeodeticHeightScale

char ossimNitfRpcBase::theGeodeticHeightScale[GEODETIC_HEIGHT_SCALE_SIZE+1]
protected

FIELD: HEIGHT_SCALE.

required 5 byte field

holds the geodetic height scale and ranges from +-9999 meters.

Definition at line 502 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getGeodeticHeightScale(), loadState(), parseStream(), print(), setGeodeticHeightScale(), and writeStream().

◆ theGeodeticLatOffset

char ossimNitfRpcBase::theGeodeticLatOffset[GEODETIC_LAT_OFFSET_SIZE+1]
protected

FIELD: LAT_OFF.

required 8 byte field.

Holds the lat offset in degrees and ranges from +-90.0000

Definition at line 437 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getGeodeticLatOffset(), loadState(), parseStream(), print(), setGeodeticLatOffset(), and writeStream().

◆ theGeodeticLatScale

char ossimNitfRpcBase::theGeodeticLatScale[GEODETIC_LAT_SCALE_SIZE+1]
protected

FIELD: LAT_SCALE.

required 8 byte field

holds the lat scale in degrees and ranges from +-90.0000 degrees

Definition at line 484 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getGeodeticLatScale(), loadState(), parseStream(), print(), setGeodeticLatScale(), and writeStream().

◆ theGeodeticLonOffset

char ossimNitfRpcBase::theGeodeticLonOffset[GEODETIC_LON_OFFSET_SIZE+1]
protected

FIELD: LONG_OFF.

required 9 byte field.

holds the lon offset in degrees and ranges from +-180.0000

Definition at line 446 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getGeodeticLonOffset(), loadState(), parseStream(), print(), setGeodeticLonOffset(), and writeStream().

◆ theGeodeticLonScale

char ossimNitfRpcBase::theGeodeticLonScale[GEODETIC_LON_SCALE_SIZE+1]
protected

FIELD: LON_SCALE.

required 9 byte field

holds the lon scale in degrees and ranges from +-180.0000 degrees

Definition at line 493 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getGeodeticLonScale(), loadState(), parseStream(), print(), setGeodeticLonScale(), and writeStream().

◆ theLineDenominatorCoefficient

std::vector<ossimString> ossimNitfRpcBase::theLineDenominatorCoefficient
protected

FIELD: LINE_DEN_COEFF_1 through LINE_DEN_COEFF_20.

Line Denominato Coefficients.

required 12 byte field ranging �0.999999E�9 Twenty coefficients for the polynomial

Definition at line 524 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getLineDenominatorCoeff(), loadState(), parseStream(), print(), setLineDenominatorCoeff(), and writeStream().

◆ theLineNumeratorCoefficient

std::vector<ossimString> ossimNitfRpcBase::theLineNumeratorCoefficient
protected

FIELD: LINE_NUM_COEFF_1 through LINE_NUM_COEFF_20.

Line Numerator Coefficients.

required 12 byte field ranging �0.999999E�9 Twenty coefficients for the polynomial

Definition at line 513 of file ossimNitfRpcBase.h.

Referenced by clearFields(), loadState(), parseStream(), print(), setLineNumeratorCoeff(), and writeStream().

◆ theLineOffset

char ossimNitfRpcBase::theLineOffset[LINE_OFFSET_SIZE+1]
protected

FIELD: LINE_OFF.

required 6 byte field.

value is in pixels and ranges from 000000-999999

Definition at line 419 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getLineOffset(), loadState(), parseStream(), print(), setLineOffset(), and writeStream().

◆ theLineScale

char ossimNitfRpcBase::theLineScale[LINE_SCALE_SIZE+1]
protected

FIELD: LINE_SCALE.

required 6 byte field.

holds the line scale in pixels and ranges from 000001-999999

Definition at line 465 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getLineScale(), loadState(), parseStream(), print(), setLineScale(), and writeStream().

◆ theSampleDenominatorCoefficient

std::vector<ossimString> ossimNitfRpcBase::theSampleDenominatorCoefficient
protected

FIELD: SAMP_DEN_COEFF_1 through SAMP_DEN_COEFF_20.

samp Denominator Coefficients.

required 12 byte field ranging �0.999999E�9 Twenty coefficients for the polynomial

Definition at line 546 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getSampleDenominatorCoeff(), loadState(), parseStream(), print(), setSampleDenominatorCoeff(), and writeStream().

◆ theSampleNumeratorCoefficient

std::vector<ossimString> ossimNitfRpcBase::theSampleNumeratorCoefficient
protected

FIELD: SAMP_NUM_COEFF_1 through SAMP_NUM_COEFF_20.

samp Numerator Coefficients.

required 12 byte field ranging �0.999999E�9 Twenty coefficients for the polynomial

Definition at line 535 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getSampleNumeratorCoeff(), loadState(), parseStream(), print(), setSampleNumeratorCoeff(), and writeStream().

◆ theSampleOffset

char ossimNitfRpcBase::theSampleOffset[SAMPLE_OFFSET_SIZE+1]
protected

FIELD: SAMP_OFF.

required 5 byte field.

value is in pixels and ranges from 00000-99999

Definition at line 428 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getSampleOffset(), loadState(), parseStream(), print(), setSampleOffset(), and writeStream().

◆ theSampleScale

char ossimNitfRpcBase::theSampleScale[SAMPLE_SCALE_SIZE+1]
protected

FIELD: SAMP_SCALE.

required 5 byte field.

holds the line scale in pixels and ranges from 00001-99999

Definition at line 475 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getSampleScale(), loadState(), parseStream(), print(), setSampleScale(), and writeStream().

◆ theSuccess

char ossimNitfRpcBase::theSuccess[SUCCESS_SIZE+1]
protected

FIELD: SUCCESS.

Required 1 byte field.

Value is 1

Definition at line 388 of file ossimNitfRpcBase.h.

Referenced by clearFields(), getSuccess(), loadState(), parseStream(), print(), setRpcModelParams(), setSuccess(), and writeStream().


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