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

#include <ossimQuickbirdRpcModel.h>

Inheritance diagram for ossimQuickbirdRpcModel:
ossimRpcModel ossimSensorModel ossimProjection ossimOptimizableProjection ossimAdjustableParameterInterface ossimObject ossimErrorStatusInterface ossimReferenced

Public Member Functions

 ossimQuickbirdRpcModel ()
 
 ossimQuickbirdRpcModel (const ossimQuickbirdRpcModel &rhs)
 
 ossimQuickbirdRpcModel (const ossimQbTileFilesHandler *handler)
 Initializes. More...
 
 ~ossimQuickbirdRpcModel ()
 
virtual ossimObjectdup () const
 dup() Returns pointer to a new instance, copy of this. More...
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 saveState Fulfills ossimObject base-class pure virtuals. More...
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 loadState Fulfills ossimObject base-class pure virtuals. More...
 
virtual bool parseFile (const ossimFilename &file)
 Public method for parsing generic image file. More...
 
void setSupportData (ossimQuickbirdMetaData *supportData)
 
ossimQuickbirdMetaDatagetSupportData ()
 
const ossimQuickbirdMetaDatagetSupportData () const
 
- Public Member Functions inherited from ossimRpcModel
 ossimRpcModel ()
 default constructor More...
 
 ossimRpcModel (const ossimRpcModel &copy_this)
 copy construtor More...
 
void setAttributes (ossim_float64 theSampleOffset, ossim_float64 theLineOffset, ossim_float64 theSampleScale, ossim_float64 theLineScale, ossim_float64 theLatOffset, ossim_float64 theLonOffset, ossim_float64 theHeightOffset, ossim_float64 theLatScale, ossim_float64 theLonScale, ossim_float64 theHeightScale, const std::vector< double > &xNumeratorCoeffs, const std::vector< double > &xDenominatorCoeffs, const std::vector< double > &yNumeratorCoeffs, const std::vector< double > &yDenominatorCoeffs, PolynomialType polyType=B, bool computeGsdFlag=true)
 
void setMetersPerPixel (const ossimDpt &metersPerPixel)
 
void setPositionError (const ossim_float64 &biasError, const ossim_float64 &randomError, bool initNominalPostionErrorFlag)
 Sets data member theBiasError, theRandError. More...
 
virtual void worldToLineSample (const ossimGpt &world_point, ossimDpt &image_point) const
 worldToLineSample() Overrides base class implementation. More...
 
virtual std::ostream & print (std::ostream &out) const
 print() Extends base-class implementation. More...
 
virtual void lineSampleToWorld (const ossimDpt &image_point, ossimGpt &world_point) const
 
virtual void lineSampleHeightToWorld (const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &worldPoint) const
 
virtual void imagingRay (const ossimDpt &image_point, ossimEcefRay &image_ray) const
 imagingRay() Overrides base class pure virtual. More...
 
virtual void updateModel ()
 
virtual void initAdjustableParameters ()
 
virtual bool useForward () const
 
virtual bool setupOptimizer (const ossimString &init_file)
 uses file path to init model More...
 
virtual ossimDpt getForwardDeriv (int parmIdx, const ossimGpt &gpos, double h)
 Compute partials of samp/line WRT ground point. More...
 
double getBiasError () const
 Returns Error - Bias. More...
 
double getRandError () const
 Returns Error - Random. More...
 
void getRpcParameters (ossimRpcModel::rpcModelStruct &model) const
 Returns RPC parameter set in structure. More...
 
void setImageOffset (const ossimDpt &offset_to_chip_ul)
 Allows setting an offset to a subimage while using the coefficients of a full-image model. More...
 
bool toJSON (std::ostream &json) const
 Serializes RPC to JSON format. More...
 
bool toRPB (std::ostream &out) const
 Serialize to WorldView-style .RPB file to the stream provided. More...
 
- Public Member Functions inherited from ossimSensorModel
 ossimSensorModel ()
 
 ossimSensorModel (const ossimSensorModel &copy_this)
 
 ossimSensorModel (const ossimKeywordlist &geom_kwl)
 
const ossimSensorModeloperator= (const ossimSensorModel &rhs)
 assignment operator More...
 
virtual ossimObjectgetBaseObject ()
 
virtual const ossimObjectgetBaseObject () const
 
virtual ossimGpt origin () const
 
virtual ossimDpt getMetersPerPixel () const
 
virtual const double & getNominalPosError () const
 Returns the estimated Absolute horizontal position error (CE90) of the sensor model. More...
 
virtual const double & getRelativePosError () const
 Returns the estimated RELATIVE horizontal position error (CE90) of the sensor model. More...
 
virtual void setNominalPosError (const double &ce90)
 Assigns the absolute image position error uncertainty (abs CE90) More...
 
virtual void setRelativePosError (const double &ce90)
 Assigns the relative image position error uncertainty (rel CE90) More...
 
void setRefImgPt (const ossimDpt &pt)
 Sets the center line sampe of the image. More...
 
void setRefGndPt (const ossimGpt &pt)
 Sets the center latitude, longitude, height of the image. More...
 
void setImageRect (const ossimDrect &imageRect)
 
void setGroundRect (const ossimGpt &ul, const ossimGpt &ur, const ossimGpt &lr, const ossimGpt &ll)
 
ossimDpt imageSize () const
 
void setImageSize (const ossimDpt &size)
 
virtual void adjustableParametersChanged ()
 
virtual bool insideImage (const ossimDpt &p) const
 
virtual bool operator== (const ossimProjection &proj) const
 
const ossimStringgetImageID () const
 Access methods: More...
 
const ossimDrectgetImageClipRect () const
 
virtual ossim_uint32 degreesOfFreedom () const
 
virtual bool needsInitialState () const
 needsInitialState() More...
 
virtual double optimizeFit (const ossimTieGptSet &tieSet, double *targetVariance=0)
 
virtual ossimGpt getInverseDeriv (int parmIdx, const ossimDpt &ipos, double hdelta=1e-11)
 
virtual ossimSensorModel::CovMatStatus getObsCovMat (const ossimDpt &ipos, NEWMAT::SymmetricMatrix &Cov, const ossim_float64 defPointingSigma=0.5) const
 Gives 2X2 covariance matrix of observations. More...
 
virtual bool isAffectedByElevation () const
 Implementation of pure virtual ossimProjection::isAffectedByElevation method. More...
 
void computeGsd ()
 This method computes the ground sample distance(gsd) and sets class attributes theGSD and theMeanGSD by doing a lineSampleHeightToWorld on four points and calculating the distance from them. More...
 
virtual bool getImageGeometry (const ossimString &, const ossimString &, ossimKeywordlist &) const
 Extracts geometry info from a non-ossim key,value pair to an ossim keyword list. More...
 
- Public Member Functions inherited from ossimProjection
 ossimProjection ()
 
virtual ~ossimProjection ()
 
virtual ossimDpt forward (const ossimGpt &wp) const
 
virtual ossimGpt inverse (const ossimDpt &pp) const
 
virtual void getRoundTripError (const ossimDpt &imagePoint, ossimDpt &errorResult) const
 
virtual void getRoundTripError (const ossimGpt &groundPoint, ossimDpt &errorResult) const
 
virtual void getGroundClipPoints (ossimGeoPolygon &gpts) const
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
virtual bool operator!= (const ossimProjection &projection) const
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
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 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 ossimErrorStatusInterface
 ossimErrorStatusInterface ()
 
virtual ~ossimErrorStatusInterface ()
 
virtual ossimErrorCode getErrorStatus () const
 
virtual ossimString getErrorStatusString () const
 
virtual void setErrorStatus (ossimErrorCode error_status) const
 
virtual void setErrorStatus () const
 
virtual void clearErrorStatus () const
 
bool hasError () const
 
- Public Member Functions inherited from ossimOptimizableProjection
 ossimOptimizableProjection ()
 
 ossimOptimizableProjection (const ossimOptimizableProjection &source)
 
virtual ~ossimOptimizableProjection ()
 
virtual ossimOptimizableProjectionoperator= (const ossimOptimizableProjection &source)
 
- Public Member Functions inherited from ossimAdjustableParameterInterface
 ossimAdjustableParameterInterface ()
 
 ossimAdjustableParameterInterface (const ossimAdjustableParameterInterface &rhs)
 
virtual ~ossimAdjustableParameterInterface ()
 
void newAdjustment (ossim_uint32 numberOfParameters=0)
 
void setAdjustmentDescription (const ossimString &description)
 
ossimString getAdjustmentDescription () const
 
ossimString getAdjustmentDescription (ossim_uint32 adjustmentIdx) const
 Returns adjustmentDescription of specific adjustmentInfo. More...
 
void setCurrentAdjustment (ossim_uint32 adjustmentIndex, bool notify=false)
 
bool setCurrentAdjustment (const ossimString &description, bool notify=false)
 Sets the current adjustment to the adjustment with a matching description. More...
 
void eraseAdjustment (bool notify)
 
void eraseAdjustment (ossim_uint32 idx, bool notify)
 
void resetAdjustableParameters (bool notify=false)
 
void copyAdjustment (ossim_uint32 idx, bool notify)
 
void copyAdjustment (bool notify=false)
 
void keepAdjustment (ossim_uint32 idx, bool createCopy)
 
virtual void keepAdjustment (bool createCopy=true)
 
const ossimAdjustableParameterInterfaceoperator= (const ossimAdjustableParameterInterface &rhs)
 
void removeAllAdjustments ()
 
ossim_uint32 getNumberOfAdjustableParameters () const
 
double getAdjustableParameter (ossim_uint32 idx) const
 
virtual void setAdjustableParameter (ossim_uint32 idx, double value, bool notify=false)
 
virtual void setAdjustableParameter (ossim_uint32 idx, double value, double sigma, bool notify=false)
 
double getParameterSigma (ossim_uint32 idx) const
 
void setParameterSigma (ossim_uint32 idx, double value, bool notify=false)
 
ossimUnitType getParameterUnit (ossim_uint32 idx) const
 
void setParameterUnit (ossim_uint32 idx, ossimUnitType unit)
 
void setParameterUnit (ossim_uint32 idx, const ossimString &unit)
 
void setParameterCenter (ossim_uint32 idx, double center, bool notify=false)
 
double getParameterCenter (ossim_uint32 idx) const
 
double computeParameterOffset (ossim_uint32 idx) const
 
void setParameterOffset (ossim_uint32 idx, ossim_float64 value, bool notify=false)
 
ossimString getParameterDescription (ossim_uint32 idx) const
 
void setParameterDescription (ossim_uint32 idx, const ossimString &descrption)
 
ossim_int32 findParameterIdxGivenDescription (ossim_uint32 adjustmentIdx, const ossimString &name) const
 
ossim_int32 findParameterIdxContainingDescription (ossim_uint32 adjustmentIdx, const ossimString &name) const
 
bool isParameterLocked (ossim_uint32 idx) const
 
void setParameterLockFlag (ossim_uint32 idxParam, bool flag)
 
bool getParameterLockFlag (ossim_uint32 idx) const
 
void lockAllParametersCurrentAdjustment ()
 
void unlockAllParametersCurrentAdjustment ()
 
void lockAllParameters (ossim_uint32 idxAdjustment)
 
void unlockAllParameters (ossim_uint32 idxAdjustment)
 
void resizeAdjustableParameterArray (ossim_uint32 numberOfParameters)
 
void setAdjustment (const ossimAdjustmentInfo &adj, bool notify=false)
 
void setAdjustment (ossim_uint32 idx, const ossimAdjustmentInfo &adj, bool notify=false)
 
void addAdjustment (const ossimAdjustmentInfo &adj, bool notify)
 
void getAdjustment (ossimAdjustmentInfo &adj) const
 
void getAdjustment (ossim_uint32 idx, ossimAdjustmentInfo &adj) const
 
ossim_uint32 getNumberOfAdjustments () const
 
ossim_uint32 getCurrentAdjustmentIdx () const
 
void setDirtyFlag (bool flag=true)
 
void setAllDirtyFlag (bool flag=true)
 
bool hasDirtyAdjustments () const
 
virtual void saveCurrentAdjustmentOnly (ossimKeywordlist &kwl, const ossimString &prefix=ossimString(""))
 Saves the current active adjustment to the KWL file. More...
 
bool saveAdjustments (ossimKeywordlist &kwl, const ossimString &prefix=ossimString("")) const
 Save all adjustments to the KWL file. More...
 
bool loadAdjustments (const ossimKeywordlist &kwl, const ossimString &prefix=ossimString(""))
 
std::ostream & print (std::ostream &out) const
 Dumps the currently active adjustment to ostream. More...
 

Protected Member Functions

bool parseNitfFile (const ossimFilename &file)
 Parses a NITF image file for RPC info. Returns TRUE if successful. More...
 
bool parseTiffFile (const ossimFilename &file)
 Parses a tagged TIFF image file for RPC info. Returns TRUE if successful. More...
 
bool parseMetaData (const ossimFilename &file)
 Initializes the support data member with metadata file info. Returns TRUE if successful. More...
 
bool parseRpcData (const ossimFilename &file)
 Given some base name for the image data, parses the associated RPC data file. More...
 
bool parseTileData (const ossimFilename &file)
 Reads the TIL file for pertinent info. Returns TRUE if successful. More...
 
bool findSupportFile (ossimFilename &file) const
 Given an initial filename with case-agnostic extension, this method searches first for an image-specific instance of that file (i.e., with _R*C* in the filename) before considering the mosaic-global support file (_R*C* removed). More...
 
void finishConstruction ()
 Collects common code among all parsers. More...
 
- Protected Member Functions inherited from ossimRpcModel
virtual ~ossimRpcModel ()
 virtual destructor More...
 
double polynomial (const double &nlat, const double &nlon, const double &nhgt, const double *coeffs) const
 
double dPoly_dLat (const double &nlat, const double &nlon, const double &nhgt, const double *coeffs) const
 
double dPoly_dLon (const double &nlat, const double &nlon, const double &nhgt, const double *coeffs) const
 
double dPoly_dHgt (const double &nlat, const double &nlon, const double &nhgt, const double *coeffs) const
 
- Protected Member Functions inherited from ossimSensorModel
virtual ~ossimSensorModel ()
 
virtual ossimDpt extrapolate (const ossimGpt &gp) const
 
virtual ossimGpt extrapolate (const ossimDpt &ip, const double &height=ossim::nan()) const
 
void buildNormalEquation (const ossimTieGptSet &tieSet, NEWMAT::SymmetricMatrix &A, NEWMAT::ColumnVector &residue, NEWMAT::ColumnVector &projResidue, double pstep_scale)
 
NEWMAT::ColumnVector getResidue (const ossimTieGptSet &tieSet)
 
NEWMAT::ColumnVector solveLeastSquares (NEWMAT::SymmetricMatrix &A, NEWMAT::ColumnVector &r) const
 
NEWMAT::Matrix invert (const NEWMAT::Matrix &m) const
 stable invert stolen from ossimRpcSolver More...
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 
- Protected Member Functions inherited from ossimAdjustableParameterInterface
bool paramChanged (ossim_uint32 param_idx) const
 Returns true if specified parameter has been modified since last setAllChangeFlag(false) call. More...
 
void setAllChangeFlags (bool areChanged)
 Sets all the change flags to the boolean indicated to indicate parameters are changed (TRUE) or not (FALSE). More...
 
void initChangeFlags ()
 Initializes the change flags to TRUE. More...
 

Protected Attributes

ossimRefPtr< ossimQuickbirdMetaDatatheSupportData
 
- Protected Attributes inherited from ossimRpcModel
PolynomialType thePolyType
 
double theLineScale
 
double theSampScale
 
double theLatScale
 
double theLonScale
 
double theHgtScale
 
double theLineOffset
 
double theSampOffset
 
double theLatOffset
 
double theLonOffset
 
double theHgtOffset
 
double theIntrackOffset
 
double theCrtrackOffset
 
double theIntrackScale
 
double theCrtrackScale
 
double theCosMapRot
 
double theSinMapRot
 
double theBiasError
 error More...
 
double theRandError
 
double theLineNumCoef [20]
 
double theLineDenCoef [20]
 
double theSampNumCoef [20]
 
double theSampDenCoef [20]
 
- Protected Attributes inherited from ossimSensorModel
ossimIpt theImageSize
 
ossimDpt theSubImageOffset
 
ossimString theImageID
 
ossimString theSensorID
 
ossimDpt theGSD
 
ossim_float64 theMeanGSD
 
ossimGpt theRefGndPt
 
ossimDpt theRefImgPt
 
ossimPolygon theBoundGndPolygon
 
ossimDrect theImageClipRect
 
ossim_float64 theRelPosError
 
ossim_float64 theNominalPosError
 
ossimDpt theParWRTx
 Partials for current point. More...
 
ossimDpt theParWRTy
 
ossimDpt theParWRTz
 
ossimDpt theObs
 Observations & residuals for current point. More...
 
ossimDpt theResid
 
ossimRefPtr< ossimProjectiontheSeedFunction
 Used as an initial guess for iterative solutions and a guess for points outside the support bounds. More...
 
bool theExtrapolateImageFlag
 
bool theExtrapolateGroundFlag
 
- Protected Attributes inherited from ossimErrorStatusInterface
ossimErrorCode theErrorStatus
 

Additional Inherited Members

- Public Types inherited from ossimRpcModel
enum  PolynomialType { A ='A', B ='B' }
 
- Public Types inherited from ossimSensorModel
enum  CovMatStatus { COV_INVALID = 0, COV_PARTIAL = 1, COV_FULL = 2 }
 
enum  DeriveMode {
  OBS_INIT =-99, EVALUATE =-98, P_WRT_X = -1, P_WRT_Y = -2,
  P_WRT_Z = -3
}
 
- Static Public Member Functions inherited from ossimRpcModel
static void writeGeomTemplate (ostream &os)
 STATIC METHOD: writeGeomTemplate(ostream) Writes a template of geom keywords processed by loadState and saveState to output stream. More...
 
- Static Public Member Functions inherited from ossimSensorModel
static void writeGeomTemplate (ostream &os)
 
- Protected Types inherited from ossimRpcModel
enum  AdjustParamIndex {
  INTRACK_OFFSET = 0, CRTRACK_OFFSET, INTRACK_SCALE, CRTRACK_SCALE,
  MAP_ROTATION, NUM_ADJUSTABLE_PARAMS
}
 

Detailed Description


CLASS: ossimQuickbirdRpcModel

Definition at line 33 of file ossimQuickbirdRpcModel.h.

Constructor & Destructor Documentation

◆ ossimQuickbirdRpcModel() [1/3]

ossimQuickbirdRpcModel::ossimQuickbirdRpcModel ( )

Definition at line 43 of file ossimQuickbirdRpcModel.cpp.

Referenced by dup().

44  :ossimRpcModel(),
46 {
47 }
ossimRefPtr< ossimQuickbirdMetaData > theSupportData
ossimRpcModel()
default constructor

◆ ossimQuickbirdRpcModel() [2/3]

ossimQuickbirdRpcModel::ossimQuickbirdRpcModel ( const ossimQuickbirdRpcModel rhs)

Definition at line 52 of file ossimQuickbirdRpcModel.cpp.

53  : ossimRpcModel(rhs),
55 {
56 }
ossimRefPtr< ossimQuickbirdMetaData > theSupportData
ossimRpcModel()
default constructor

◆ ossimQuickbirdRpcModel() [3/3]

ossimQuickbirdRpcModel::ossimQuickbirdRpcModel ( const ossimQbTileFilesHandler handler)

Initializes.

Constructor for multiple tile-files sharing common RPC model initializes given pointer to multi-tile-files handler.

Definition at line 62 of file ossimQuickbirdRpcModel.cpp.

References ossimErrorStatusInterface::clearErrorStatus(), finishConstruction(), ossimImageHandler::getFilename(), ossimTiledImageHandler::getImageRectangle(), ossimDpt::makeNan(), parseRpcData(), ossimErrorStatusInterface::setErrorStatus(), ossimSensorModel::theGSD, and ossimSensorModel::theImageClipRect.

63 : ossimRpcModel(),
65 {
67  if (!handler)
68  return;
69 
70  // Make the gsd nan so it gets computed.
71  theGSD.makeNan();
72 
74 
75  ossimFilename imageFile = handler->getFilename();
76  if (!parseRpcData(imageFile))
77  return;
78 
81  return;
82 }
ossimRefPtr< ossimQuickbirdMetaData > theSupportData
void finishConstruction()
Collects common code among all parsers.
virtual ossimIrect getImageRectangle(ossim_uint32 resLevel=0) const
Returns overall bounding rect in image space.
ossimRpcModel()
default constructor
bool parseRpcData(const ossimFilename &file)
Given some base name for the image data, parses the associated RPC data file.
virtual const ossimFilename & getFilename() const
Returns the filename.
ossimDrect theImageClipRect
void makeNan()
Definition: ossimDpt.h:65

◆ ~ossimQuickbirdRpcModel()

ossimQuickbirdRpcModel::~ossimQuickbirdRpcModel ( )

Definition at line 87 of file ossimQuickbirdRpcModel.cpp.

References theSupportData.

88 {
89  theSupportData = 0;
90 }
ossimRefPtr< ossimQuickbirdMetaData > theSupportData

Member Function Documentation

◆ dup()

ossimObject * ossimQuickbirdRpcModel::dup ( ) const
virtual

dup() Returns pointer to a new instance, copy of this.

Reimplemented from ossimRpcModel.

Definition at line 95 of file ossimQuickbirdRpcModel.cpp.

References ossimQuickbirdRpcModel().

96 {
97  return new ossimQuickbirdRpcModel(*this);
98 }

◆ findSupportFile()

bool ossimQuickbirdRpcModel::findSupportFile ( ossimFilename file) const
protected

Given an initial filename with case-agnostic extension, this method searches first for an image-specific instance of that file (i.e., with _R*C* in the filename) before considering the mosaic-global support file (_R*C* removed).

If a file is found, the argument is modified to match the actual filename and TRUE is returned. Otherwise, argument filename is left unchanged and FALSE is returned.

Definition at line 489 of file ossimQuickbirdRpcModel.cpp.

References ossimString::downcase(), ossimFilename::exists(), ossimFilename::ext(), ossimString::replaceAllThatMatch(), ossimFilename::setExtension(), and ossimString::upcase().

Referenced by parseMetaData(), parseRpcData(), and parseTileData().

490 {
491  ossimFilename f (filename);
492  ossimString extension = f.ext();
493  if(f.exists())
494  {
495  filename = f;
496  return true;
497  }
498  // Search for support file with same basename as image:
499  extension.upcase();
500  f.setExtension(extension);
501  if(f.exists())
502  {
503  filename = f;
504  return true;
505  }
506  extension.downcase();
507  if(f.exists())
508  {
509  filename = f;
510  return true;
511  }
512 
513  // None found so far, search for mosaic-global support file:
514  f = f.replaceAllThatMatch("_R[0-9]+C[0-9]+");
515  if(f.exists())
516  {
517  filename = f;
518  return true;
519  }
520  extension.upcase();
521  f.setExtension(extension);
522  if(f.exists())
523  {
524  filename = f;
525  return true;
526  }
527 
528 
529  // Modify argument to match good filename:
530  return false;
531 }
static ossimString upcase(const ossimString &aString)
Definition: ossimString.cpp:34
ossimString replaceAllThatMatch(const char *regularExpressionPattern, const char *value="") const
static ossimString downcase(const ossimString &aString)
Definition: ossimString.cpp:48

◆ finishConstruction()

void ossimQuickbirdRpcModel::finishConstruction ( )
protected

Collects common code among all parsers.

Definition at line 413 of file ossimQuickbirdRpcModel.cpp.

References ossimSensorModel::computeGsd(), ossimDpt::hasNans(), ossimDrect::height(), ossimGpt::hgt, ossimGpt::lat, ossimIpt::line, ossimDpt::line, ossimRpcModel::lineSampleHeightToWorld(), ossimDrect::ll(), ossimGpt::lon, ossimDrect::lr(), ossimDrect::midPoint(), ossimNotify(), ossimNotifyLevel_WARN, ossimIpt::samp, ossimDpt::samp, ossimSensorModel::theBoundGndPolygon, ossimSensorModel::theGSD, ossimRpcModel::theHgtOffset, ossimSensorModel::theImageClipRect, ossimSensorModel::theImageSize, ossimRpcModel::theLatOffset, ossimRpcModel::theLonOffset, ossimSensorModel::theRefGndPt, ossimSensorModel::theRefImgPt, ossimDrect::ul(), ossimRpcModel::updateModel(), ossimDrect::ur(), ossimException::what(), ossimDrect::width(), ossimDpt::x, and ossimDpt::y.

Referenced by ossimQuickbirdRpcModel(), and parseTiffFile().

414 {
422 
423  //---
424  // NOTE: We must call "updateModel()" to set parameter used by base
425  // ossimRpcModel prior to calling lineSampleHeightToWorld or all
426  // the world points will be same.
427  //---
428  updateModel();
429 
430  ossimGpt v0, v1, v2, v3;
435 
437 
438  // Set the ground reference point using the model.
440 
441  if( theGSD.hasNans() )
442  {
443  try
444  {
445  // This will set theGSD and theMeanGSD. Method throws ossimException.
446  computeGsd();
447  }
448  catch (const ossimException& e)
449  {
451  << "ossimQuickbirdRpcModel::finishConstruction -- caught exception:\n"
452  << e.what() << std::endl;
453  }
454  }
455 }
ossim_float64 width() const
Definition: ossimDrect.h:522
double samp
Definition: ossimDpt.h:164
const ossimDpt & ul() const
Definition: ossimDrect.h:339
double y
Definition: ossimDpt.h:165
virtual void updateModel()
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
double theLatOffset
double theHgtOffset
double theLonOffset
void computeGsd()
This method computes the ground sample distance(gsd) and sets class attributes theGSD and theMeanGSD ...
double line
Definition: ossimDpt.h:165
ossim_float64 lon
Definition: ossimGpt.h:266
virtual const char * what() const
Returns the error message.
ossimPolygon theBoundGndPolygon
virtual void lineSampleHeightToWorld(const ossimDpt &image_point, const double &heightEllipsoid, ossimGpt &worldPoint) const
bool hasNans() const
Definition: ossimDpt.h:67
ossim_float64 height() const
Definition: ossimDrect.h:517
ossimDrect theImageClipRect
ossim_int32 samp
Definition: ossimIpt.h:141
ossimDpt midPoint() const
Definition: ossimDrect.h:817
const ossimDpt & ur() const
Definition: ossimDrect.h:340
double x
Definition: ossimDpt.h:164
ossim_int32 line
Definition: ossimIpt.h:142
const ossimDpt & ll() const
Definition: ossimDrect.h:342
ossim_float64 lat
Definition: ossimGpt.h:265
const ossimDpt & lr() const
Definition: ossimDrect.h:341
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ getSupportData() [1/2]

ossimQuickbirdMetaData* ossimQuickbirdRpcModel::getSupportData ( )
inline

Definition at line 56 of file ossimQuickbirdRpcModel.h.

References ossimRefPtr< T >::get(), and theSupportData.

57  {
58  return theSupportData.get();
59  }
ossimRefPtr< ossimQuickbirdMetaData > theSupportData

◆ getSupportData() [2/2]

const ossimQuickbirdMetaData* ossimQuickbirdRpcModel::getSupportData ( ) const
inline

Definition at line 60 of file ossimQuickbirdRpcModel.h.

References ossimRefPtr< T >::get(), and theSupportData.

61  {
62  return theSupportData.get();
63  }
ossimRefPtr< ossimQuickbirdMetaData > theSupportData

◆ loadState()

bool ossimQuickbirdRpcModel::loadState ( const ossimKeywordlist kwl,
const char *  prefix = 0 
)
virtual

loadState Fulfills ossimObject base-class pure virtuals.

Loads and saves geometry KWL files. Returns true if successful.

Reimplemented from ossimRpcModel.

Definition at line 470 of file ossimQuickbirdRpcModel.cpp.

References ossimQuickbirdMetaData::loadState(), ossimRpcModel::loadState(), theSupportData, and ossimRefPtr< T >::valid().

472 {
473  // sanity check only. This shoulc always be true
474  if(theSupportData.valid())
475  {
476  ossimString supportPrefix = ossimString(prefix) + "support_data.";
477  theSupportData->loadState(kwl, supportPrefix);
478  }
479  return ossimRpcModel::loadState(kwl, prefix);
480 }
ossimRefPtr< ossimQuickbirdMetaData > theSupportData
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of the object from a keyword list.
bool valid() const
Definition: ossimRefPtr.h:75
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
loadState Fulfills ossimObject base-class pure virtuals.

◆ parseFile()

bool ossimQuickbirdRpcModel::parseFile ( const ossimFilename file)
virtual

Public method for parsing generic image file.

Definition at line 103 of file ossimQuickbirdRpcModel.cpp.

References parseNitfFile(), and parseTiffFile().

Referenced by ossimQuickbirdTiffTileSource::getImageGeometry().

104 {
105  bool result = parseNitfFile(file);
106  if ( !result )
107  {
108  result = parseTiffFile(file);
109  }
110  return result;
111 }
bool parseNitfFile(const ossimFilename &file)
Parses a NITF image file for RPC info. Returns TRUE if successful.
bool parseTiffFile(const ossimFilename &file)
Parses a tagged TIFF image file for RPC info. Returns TRUE if successful.

◆ parseMetaData()

bool ossimQuickbirdRpcModel::parseMetaData ( const ossimFilename file)
protected

Initializes the support data member with metadata file info. Returns TRUE if successful.

Definition at line 336 of file ossimQuickbirdRpcModel.cpp.

References findSupportFile(), ossimQuickbirdMetaData::getSatID(), ossimQuickbirdMetaData::open(), ossimNotify(), ossimNotifyLevel_WARN, ossimFilename::setExtension(), ossimSensorModel::theSensorID, theSupportData, and ossimRefPtr< T >::valid().

Referenced by parseNitfFile(), and parseTiffFile().

337 {
338 
339  ossimFilename metadataFile (base_name);
340  metadataFile.setExtension("IMD");
341  if (!findSupportFile(metadataFile))
342  return false;
343 
344  if ( !theSupportData.valid() )
346 
347  if(!theSupportData->open(metadataFile))
348  {
349  theSupportData = 0; // ossimRefPtr
350 #if 0 /* This should be wrapped in trace. drb */
352  << "ossimQuickbirdRpcModel::parseMetaData WARNING:"
353  << "\nCould not open IMD file. Sensor ID unknown." << std::endl;
354 #endif
355  return false;
356  }
357 
359  return true;
360 }
ossimString theSensorID
ossimRefPtr< ossimQuickbirdMetaData > theSupportData
bool valid() const
Definition: ossimRefPtr.h:75
bool findSupportFile(ossimFilename &file) const
Given an initial filename with case-agnostic extension, this method searches first for an image-speci...
bool open(const ossimFilename &imageFile)
Open method that takes the image file, derives the metadata, header and rpc files, then calls parse methods parseMetaData, parseHdrData, and parseRpcData.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)

◆ parseNitfFile()

bool ossimQuickbirdRpcModel::parseNitfFile ( const ossimFilename file)
protected

Parses a NITF image file for RPC info. Returns TRUE if successful.

Definition at line 116 of file ossimQuickbirdRpcModel.cpp.

References ossimNitfImageHeader::getImageRect(), ossimNitfFile::getNewImageHeader(), ossimNitfImageHeader::getTagData(), ossimDpt::line, ossim::nan(), ossimNitfFile::parseFile(), parseMetaData(), parseRpcData(), parseTileData(), ossimDpt::samp, ossimErrorStatusInterface::setErrorStatus(), ossimFilename::setExtension(), ossimSensorModel::theGSD, and ossimSensorModel::theImageClipRect.

Referenced by parseFile().

117 {
118  setErrorStatus();
119 
120  //---
121  // ossimNitfFile::parseFile(...) checks the first eight byte so three calls
122  // to parseFile are not necessary. drb - 21 Dec. 2016
123  //---
124  ossimRefPtr<ossimNitfFile> nitfFilePtr = new ossimNitfFile;
125  if( nitfFilePtr->parseFile( file ) == false )
126  {
127  return false;
128  }
129 
130 #if 0
131  ossimFilename nitfFile = file;
132  ossimRefPtr<ossimNitfFile> nitfFilePtr = new ossimNitfFile;
133  if(!nitfFilePtr->parseFile(nitfFile))
134  {
135  nitfFile = nitfFile.setExtension("NTF");
136  if(!nitfFilePtr->parseFile(nitfFile))
137  {
138  nitfFile = nitfFile.setExtension("ntf");
139  if(!nitfFilePtr->parseFile(nitfFile))
140  return false;
141  }
142  }
143 #endif
144 
146  if (!ih)
147  return false;
148 
150 
151  // Give preference to external RPC data file. Only consider external tiling data if RPC is
152  // provided externally, otherwise expect ICHIPB in NITF:
153  bool useInternalRpcTags = true;
154  if (parseRpcData(file))
155  {
156  useInternalRpcTags = false;
157  if (!parseTileData(file))
158  return false;
159  }
160 
161  // Check for IMD (metadata) file:
162  parseMetaData(file);
163 
164  // Get the gsd.
165  theGSD.line = ossim::nan();
166  theGSD.samp = ossim::nan();
167 
169  tag = ih->getTagData(PIAIMC_TAG);
170  if (tag.valid())
171  {
173  if (p)
174  {
177  }
178  }
179  if (ossim::isnan(theGSD.line))
180  {
181  tag = ih->getTagData(USE00A_TAG);
182  if (tag.valid())
183  {
185  if (p)
186  {
189  }
190  }
191  }
192 
193  // If external RPC data file was correctly parsed, then we can bypass this code block. Otherwise
194  // need to parse internal NITF tags for RPC data:
195  if (useInternalRpcTags)
196  {
197  // Get the the RPC tag:
198  ossimNitfRpcBase* rpcTag = NULL;
199 
200  // Look for the RPC00B tag first.
201  tag = ih->getTagData(RPC00B_TAG);
202  if (tag.valid())
203  rpcTag = PTR_CAST(ossimNitfRpcBase, tag.get());
204 
205  if (!tag.valid())
206  {
207  // Look for RPC00A tag.
208  tag = ih->getTagData(RPC00A_TAG);
209  if (tag.valid())
210  rpcTag = PTR_CAST(ossimNitfRpcBase, tag.get());
211  }
212 
213  if (!rpcTag)
214  return false;
215 
216  // Set the polynomial type.
217  if (rpcTag->getRegisterTagName() == "RPC00B")
218  thePolyType = B;
219  else
220  thePolyType = A;
221 
222  // Parse coefficients:
223  for (ossim_uint32 i=0; i<20; ++i)
224  {
229  }
230 
231  // Initialize other items in tags:
232  theLineScale = rpcTag->getLineScale().toFloat64();
233  theSampScale = rpcTag->getSampleScale().toFloat64();
237  theLineOffset = rpcTag->getLineOffset().toFloat64();
242  theImageID = ih->getImageId();
243  }
244 
247  return true;
248 }
double theSampOffset
PolynomialType thePolyType
ossimString getLineScale() const
double theSampNumCoef[20]
bool parseTileData(const ossimFilename &file)
Reads the TIL file for pertinent info. Returns TRUE if successful.
void finishConstruction()
Collects common code among all parsers.
bool parseMetaData(const ossimFilename &file)
Initializes the support data member with metadata file info. Returns TRUE if successful.
ossimString getGeodeticHeightScale() const
ossimNitfImageHeader * getNewImageHeader(ossim_uint32 imageNumber) const
ossimString getLineDenominatorCoeff(ossim_uint32 idx) const
bool valid() const
Definition: ossimRefPtr.h:75
ossimString theImageID
double samp
Definition: ossimDpt.h:164
virtual std::string getRegisterTagName() const
This will return the name of the registered tag for this user defined header.
double nan()
Method to return ieee floating point double precision NAN.
Definition: ossimCommon.h:135
ossimString getSampleOffset() const
double theLonScale
double theLineScale
ossimString getSampleDenominatorCoeff(ossim_uint32 idx) const
double theSampDenCoef[20]
ossimString getLineOffset() const
double theLineNumCoef[20]
double theLatOffset
bool parseRpcData(const ossimFilename &file)
Given some base name for the image data, parses the associated RPC data file.
double theHgtOffset
double theLonOffset
double line
Definition: ossimDpt.h:165
ossimString getGeodeticHeightOffset() const
double theLatScale
virtual ossimIrect getImageRect() const =0
unsigned int ossim_uint32
virtual ossimString getImageId() const =0
ossim_float64 toFloat64() const
#define PTR_CAST(T, p)
Definition: ossimRtti.h:321
ossimString getLineNumeratorCoeff(ossim_uint32 idx) const
ossimDrect theImageClipRect
ossimString getSampleNumeratorCoeff(ossim_uint32 idx) const
ossimString getGeodeticLatScale() const
ossimRefPtr< ossimNitfRegisteredTag > getTagData(const ossimString &tagName)
double theSampScale
ossimString getGeodeticLonOffset() const
bool parseFile(const ossimFilename &file)
ossim_float64 getMeanGsdInMeters() const
ossimString getSampleScale() const
double theLineDenCoef[20]
ossimString getGeodeticLatOffset() const
ossimFilename & setExtension(const ossimString &e)
Sets the extension of a file name.
double theLineOffset
double theHgtScale
ossimString getGeodeticLonScale() const
ossim_float64 getMeanGsdInMeters() const
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
Definition: ossimCommon.h:91

◆ parseRpcData()

bool ossimQuickbirdRpcModel::parseRpcData ( const ossimFilename base_name)
protected

Given some base name for the image data, parses the associated RPC data file.

Returns TRUE if successful

Definition at line 288 of file ossimQuickbirdRpcModel.cpp.

References ossimRpcModel::A, ossimRpcModel::B, ossimFilename::fileNoExtension(), findSupportFile(), ossimQuickbirdRpcHeader::isAPolynomial(), ossimQuickbirdRpcHeader::open(), ossimFilename::setExtension(), ossimQuickbirdRpcHeader::theHeightOffset, ossimQuickbirdRpcHeader::theHeightScale, ossimRpcModel::theHgtOffset, ossimRpcModel::theHgtScale, ossimSensorModel::theImageID, ossimQuickbirdRpcHeader::theLatOffset, ossimRpcModel::theLatOffset, ossimQuickbirdRpcHeader::theLatScale, ossimRpcModel::theLatScale, ossimRpcModel::theLineDenCoef, ossimQuickbirdRpcHeader::theLineDenCoeff, ossimRpcModel::theLineNumCoef, ossimQuickbirdRpcHeader::theLineNumCoeff, ossimQuickbirdRpcHeader::theLineOffset, ossimRpcModel::theLineOffset, ossimQuickbirdRpcHeader::theLineScale, ossimRpcModel::theLineScale, ossimQuickbirdRpcHeader::theLonOffset, ossimRpcModel::theLonOffset, ossimQuickbirdRpcHeader::theLonScale, ossimRpcModel::theLonScale, ossimRpcModel::thePolyType, ossimRpcModel::theSampDenCoef, ossimQuickbirdRpcHeader::theSampDenCoeff, ossimRpcModel::theSampNumCoef, ossimQuickbirdRpcHeader::theSampNumCoeff, ossimQuickbirdRpcHeader::theSampOffset, ossimRpcModel::theSampOffset, ossimQuickbirdRpcHeader::theSampScale, and ossimRpcModel::theSampScale.

Referenced by ossimQuickbirdRpcModel(), parseNitfFile(), and parseTiffFile().

289 {
290  ossimFilename rpcFile (base_name);
291 
292  // There are two possibilities for RPC data files: either each image file has its own RPC data
293  // file, or a single RPC file is provided for a multi-tile scene.
294  rpcFile.setExtension("RPB");
295  if (!findSupportFile(rpcFile))
296  {
297  rpcFile.setExtension("RPA");
298  if (!findSupportFile(rpcFile))
299  return false;
300  }
301 
302  // An RPC file was located, open it:
304  if(!hdr.open(rpcFile))
305  return false;
306 
307  if(hdr.isAPolynomial())
308  thePolyType = A;
309  else
310  thePolyType = B;
311 
312  std::copy(hdr.theLineNumCoeff.begin(), hdr.theLineNumCoeff.end(), theLineNumCoef);
313  std::copy(hdr.theLineDenCoeff.begin(), hdr.theLineDenCoeff.end(), theLineDenCoef);
314  std::copy(hdr.theSampNumCoeff.begin(), hdr.theSampNumCoeff.end(), theSampNumCoef);
315  std::copy(hdr.theSampDenCoeff.begin(), hdr.theSampDenCoeff.end(), theSampDenCoef);
316 
319  theLatScale = hdr.theLatScale;
320  theLonScale = hdr.theLonScale;
327  theImageID = rpcFile.fileNoExtension();
328 
329  return true;
330 }
double theSampOffset
PolynomialType thePolyType
double theSampNumCoef[20]
ossimString theImageID
bool open(const ossimFilename &file)
double theLonScale
double theLineScale
double theSampDenCoef[20]
double theLineNumCoef[20]
double theLatOffset
double theHgtOffset
double theLonOffset
bool findSupportFile(ossimFilename &file) const
Given an initial filename with case-agnostic extension, this method searches first for an image-speci...
double theLatScale
std::vector< double > theSampNumCoeff
std::vector< double > theLineNumCoeff
std::vector< double > theSampDenCoeff
double theSampScale
double theLineDenCoef[20]
double theLineOffset
double theHgtScale
std::vector< double > theLineDenCoeff

◆ parseTiffFile()

bool ossimQuickbirdRpcModel::parseTiffFile ( const ossimFilename file)
protected

Parses a tagged TIFF image file for RPC info. Returns TRUE if successful.

Definition at line 253 of file ossimQuickbirdRpcModel.cpp.

References ossimErrorStatusInterface::clearErrorStatus(), finishConstruction(), ossimImageHandler::getImageRectangle(), ossimDpt::makeNan(), ossimTiffTileSource::open(), parseMetaData(), parseRpcData(), parseTileData(), ossimErrorStatusInterface::setErrorStatus(), ossimSensorModel::theGSD, and ossimSensorModel::theImageClipRect.

Referenced by parseFile().

254 {
255  setErrorStatus();
256 
257  // Make the gsd nan so it gets computed.
258  theGSD.makeNan();
259 
260  ossimFilename tiffFile = file;
262  if (!tiff->open(file))
263  {
264  return false;
265  }
266 
268 
269  parseMetaData(file);
270 
271  // TIFF format expects the RPC and TILE info to be provided externally:
272  if (!parseRpcData(file))
273  return false;
274 
275  // If no TIL data present, assumes full image:
276  if (!parseTileData(file))
277  return false;
278 
281  return true;
282 }
bool parseTileData(const ossimFilename &file)
Reads the TIL file for pertinent info. Returns TRUE if successful.
void finishConstruction()
Collects common code among all parsers.
bool parseMetaData(const ossimFilename &file)
Initializes the support data member with metadata file info. Returns TRUE if successful.
bool parseRpcData(const ossimFilename &file)
Given some base name for the image data, parses the associated RPC data file.
virtual ossimIrect getImageRectangle(ossim_uint32 resLevel=0) const
Returns zero-based bounding rectangle of the image.
ossimDrect theImageClipRect
virtual bool open(const ossimFilename &image_file)
Returns true if the image_file can be opened and is a valid tiff file.
void makeNan()
Definition: ossimDpt.h:65

◆ parseTileData()

bool ossimQuickbirdRpcModel::parseTileData ( const ossimFilename file)
protected

Reads the TIL file for pertinent info. Returns TRUE if successful.

Definition at line 365 of file ossimQuickbirdRpcModel.cpp.

References ossimFilename::file(), findSupportFile(), ossimQuickbirdTile::getInfo(), ossimDpt::hasNans(), ossimQuickbirdTile::open(), ossimFilename::setExtension(), ossimRpcModel::setImageOffset(), ossimQuickbirdTileInfo::theUlXOffset, and ossimQuickbirdTileInfo::theUlYOffset.

Referenced by parseNitfFile(), and parseTiffFile().

366 {
367  ossimFilename tileFile (image_file);
368  tileFile.setExtension("TIL");
369 
370  // The TIL file is optional. Consider the image to be the full image if not present:
371  if (!findSupportFile(tileFile))
372  return true;
373 
374  ossimQuickbirdTile tileHdr;
375  if(!tileHdr.open(tileFile))
376  return false;
377 
379  if(!tileHdr.getInfo(info, image_file.file()))
380  return false;
381 
382 // if((info.theUlXOffset != OSSIM_INT_NAN) && (info.theUlYOffset != OSSIM_INT_NAN) &&
383 // (info.theLrXOffset != OSSIM_INT_NAN) && (info.theLrYOffset != OSSIM_INT_NAN) &&
384 // (info.theLlXOffset != OSSIM_INT_NAN) && (info.theLlYOffset != OSSIM_INT_NAN) &&
385 // (info.theUrXOffset != OSSIM_INT_NAN) && (info.theUrYOffset != OSSIM_INT_NAN))
386 // {
387 // theImageClipRect = ossimIrect(ossimIpt(info.theUlXOffset, info.theUlYOffset),
388 // ossimIpt(info.theUrXOffset, info.theUrYOffset),
389 // ossimIpt(info.theLrXOffset, info.theLrYOffset),
390 // ossimIpt(info.theLlXOffset, info.theLlYOffset));
391 // }
392 // else if ((info.theUlXOffset != OSSIM_INT_NAN) && (info.theUlYOffset != OSSIM_INT_NAN) &&
393 // (theImageClipRect.width() != OSSIM_INT_NAN) && (theImageClipRect.height() != OSSIM_INT_NAN))
394 // {
395 // theImageClipRect = ossimIrect(info.theUlXOffset, info.theUlYOffset,
396 // info.theUlXOffset+theImageClipRect.width()-1,
397 // info.theUlYOffset+theImageClipRect.height()-1);
398 // }
399 
400  // Define the RPC model's 2D transform for chipped imagery. Note that the TIL file will only
401  // define an offset, not a full affine. Can only use the tile's UL corner:
402  ossimDpt ul (info.theUlXOffset, info.theUlYOffset);
403  if (!ul.hasNans())
404  setImageOffset(ul);
405  //theImageXform = new ossim2dTo2dShiftTransform(ul);
406 
407  return true;
408 }
bool open(const ossimFilename tileFile)
bool findSupportFile(ossimFilename &file) const
Given an initial filename with case-agnostic extension, this method searches first for an image-speci...
bool getInfo(ossimQuickbirdTileInfo &result, const ossimFilename &filename) const
void setImageOffset(const ossimDpt &offset_to_chip_ul)
Allows setting an offset to a subimage while using the coefficients of a full-image model...

◆ saveState()

bool ossimQuickbirdRpcModel::saveState ( ossimKeywordlist kwl,
const char *  prefix = 0 
) const
virtual

saveState Fulfills ossimObject base-class pure virtuals.

Loads and saves geometry KWL files. Returns true if successful.

Reimplemented from ossimRpcModel.

Definition at line 457 of file ossimQuickbirdRpcModel.cpp.

References ossimQuickbirdMetaData::saveState(), ossimRpcModel::saveState(), theSupportData, and ossimRefPtr< T >::valid().

459 {
460  // sanity check only. This shoulc always be true
461  if(theSupportData.valid())
462  {
463  ossimString supportPrefix = ossimString(prefix) + "support_data.";
464  theSupportData->saveState(kwl, supportPrefix);
465  }
466 
467  return ossimRpcModel::saveState(kwl, prefix);
468 }
ossimRefPtr< ossimQuickbirdMetaData > theSupportData
bool valid() const
Definition: ossimRefPtr.h:75
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
saveState Fulfills ossimObject base-class pure virtuals.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of the object to a keyword list.

◆ setSupportData()

void ossimQuickbirdRpcModel::setSupportData ( ossimQuickbirdMetaData supportData)
inline

Definition at line 52 of file ossimQuickbirdRpcModel.h.

References theSupportData.

53  {
54  theSupportData = supportData;
55  }
ossimRefPtr< ossimQuickbirdMetaData > theSupportData

Member Data Documentation

◆ theSupportData

ossimRefPtr<ossimQuickbirdMetaData> ossimQuickbirdRpcModel::theSupportData
protected

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