OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | List of all members
ossimProjection Class Referenceabstract

#include <ossimProjection.h>

Inheritance diagram for ossimProjection:
ossimObject ossimErrorStatusInterface ossimReferenced ossimAffineProjection ossimBilinearProjection ossimMapProjection ossimPolynomProjection ossimQuadProjection ossimRpcProjection ossimSensorModel ossimWarpProjection

Public Member Functions

 ossimProjection ()
 
virtual ~ossimProjection ()
 
virtual ossimObjectdup () const =0
 
virtual ossimGpt origin () const =0
 
virtual ossimDpt forward (const ossimGpt &wp) const
 
virtual ossimGpt inverse (const ossimDpt &pp) const
 
virtual void worldToLineSample (const ossimGpt &worldPoint, ossimDpt &lineSampPt) const =0
 
virtual void lineSampleToWorld (const ossimDpt &lineSampPt, ossimGpt &worldPt) const =0
 
virtual void lineSampleHeightToWorld (const ossimDpt &lineSampPt, const double &heightAboveEllipsoid, ossimGpt &worldPt) const =0
 
virtual void getRoundTripError (const ossimDpt &imagePoint, ossimDpt &errorResult) const
 
virtual void getRoundTripError (const ossimGpt &groundPoint, ossimDpt &errorResult) const
 
virtual std::ostream & print (std::ostream &out) const
 Outputs theErrorStatus as an ossimErrorCode and an ossimString. More...
 
virtual void getGroundClipPoints (ossimGeoPolygon &gpts) const
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
virtual bool operator== (const ossimProjection &projection) const =0
 
virtual bool operator!= (const ossimProjection &projection) const
 
virtual ossimDpt getMetersPerPixel () const =0
 
virtual bool isAffectedByElevation () const =0
 Pure virtual method to query if projection is affected by elevation. More...
 
- 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
 

Additional Inherited Members

- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 
- Protected Attributes inherited from ossimErrorStatusInterface
ossimErrorCode theErrorStatus
 

Detailed Description

Definition at line 25 of file ossimProjection.h.

Constructor & Destructor Documentation

◆ ossimProjection()

ossimProjection::ossimProjection ( )

Constructors, Destructor:

Definition at line 36 of file ossimProjection.cpp.

37 {
38 }

◆ ~ossimProjection()

virtual ossimProjection::~ossimProjection ( )
inlinevirtual

Definition at line 32 of file ossimProjection.h.

32 {}

Member Function Documentation

◆ dup()

virtual ossimObject* ossimProjection::dup ( ) const
pure virtual

Reimplemented from ossimObject.

Implemented in ossimRpcModel, ossimRpcProjection, ossimFcsiModel, ossimAffineProjection, ossimRS1SarModel, ossimWarpProjection, ossimCoarseGridModel, ossimSarModel, ossimSonomaSensor, ossimplugins::ossimRadarSat2RPCModel, ossimRsmModel, ossimplugins::ossimRadarSat2Model, ossimplugins::ossimAlosPalsarModel, ossimplugins::ossimFormosatModel, ossimplugins::ossimPleiadesModel, ossimplugins::ossimSpot6Model, ossimplugins::ossimTerraSarModel, ossimAdjMapModel, ossimplugins::ossimRadarSatModel, ossimSpot5Model, ossimplugins::ossimEnvisatAsarModel, ossimplugins::ossimErsSarModel, ossimNitfRsmModel, ossimplugins::ossimTileMapModel, ossimLandSatModel, ossimAlbersProjection, ossimSpaceObliqueMercatorProjection, ossimQuickbirdRpcModel, ossimLambertConformalConicProjection, ossimIpodSensor, ossimSkyBoxLearSensor, ossimNitfMapModel, ossimNitfRpcModel, ossimPolynomProjection, ossimEquDistCylProjection, ossimObliqueMercatorProjection, ossimBilinearProjection, ossimLlxyProjection, ossimAzimEquDistProjection, ossimMercatorProjection, ossimSinusoidalProjection, ossimTransCylEquAreaProjection, ossimMillerProjection, ossimMollweidProjection, ossimOrthoGraphicProjection, ossimTransMercatorProjection, ossimApplanixEcefModel, ossimPolarStereoProjection, ossimUtmProjection, ossimBonneProjection, ossimCassiniProjection, ossimCylEquAreaProjection, ossimEckert6Projection, ossimPolyconicProjection, ossimEckert4Projection, ossimQuadProjection, ossimStereographicProjection, ossimVanDerGrintenProjection, ossimGnomonicProjection, ossimAlphaSensorHRI, ossimAlphaSensorHSI, ossimAlphaSensor, ossimNewZealandMapGridProjection, ossimPpjFrameSensor, ossimSpectraboticsRedEdgeModel, ossimApplanixUtmModel, ossimCadrgProjection, ossimUpsProjection, ossimGoogleProjection, and ossimBngProjection.

Referenced by ossimMapViewController::changeOwner(), ossimEpsgProjectionDatabase::findProjection(), ossimGpkgWriter::getNewOutputProjection(), ossimTilingRect::initializeBase(), ossimChipProcTool::newIdentityProjection(), ossimImageGeometry::operator=(), ossimMapViewController::ossimMapViewController(), and ossimIgen::setView().

◆ forward()

ossimDpt ossimProjection::forward ( const ossimGpt wp) const
inlinevirtual

METHODS: forward(), reverse() OBSOLETE – provided for existing GUI code only. Bogus return value.

Reimplemented in ossimAlbersProjection, ossimLambertConformalConicProjection, ossimMapProjection, ossimSpaceObliqueMercatorProjection, ossimEquDistCylProjection, ossimObliqueMercatorProjection, ossimAzimEquDistProjection, ossimLlxyProjection, ossimOrthoGraphicProjection, ossimSinusoidalProjection, ossimMercatorProjection, ossimPolyconicProjection, ossimStereographicProjection, ossimTransCylEquAreaProjection, ossimCylEquAreaProjection, ossimMillerProjection, ossimMollweidProjection, ossimVanDerGrintenProjection, ossimEckert4Projection, ossimGnomonicProjection, ossimPolarStereoProjection, ossimTransMercatorProjection, ossimUtmProjection, ossimEckert6Projection, ossimBonneProjection, ossimCassiniProjection, ossimNewZealandMapGridProjection, ossimUpsProjection, ossimCadrgProjection, ossimBngProjection, and ossimGoogleProjection.

Definition at line 129 of file ossimProjection.h.

References worldToLineSample().

Referenced by ossimRpcProjection::buildNormalEquation(), ossimSensorModel::buildNormalEquation(), ossimRpcProjection::getForwardDeriv(), ossimSensorModel::getForwardDeriv(), ossimRpcProjection::getResidue(), ossimSensorModel::getResidue(), and ossimImageGeometry::getTiePoint().

130 {
131  ossimDpt p;
132  worldToLineSample(wp, p);
133  return p;
134 }
virtual void worldToLineSample(const ossimGpt &worldPoint, ossimDpt &lineSampPt) const =0

◆ getGroundClipPoints()

void ossimProjection::getGroundClipPoints ( ossimGeoPolygon gpts) const
virtual

Reimplemented in ossimOrthoGraphicProjection.

Definition at line 195 of file ossimProjection.cpp.

Referenced by ossimImageViewProjectionTransform::getImageToViewBounds().

196 {
197 }

◆ getMetersPerPixel()

virtual ossimDpt ossimProjection::getMetersPerPixel ( ) const
pure virtual

◆ getRoundTripError() [1/2]

void ossimProjection::getRoundTripError ( const ossimDpt imagePoint,
ossimDpt errorResult 
) const
virtual

Definition at line 171 of file ossimProjection.cpp.

Referenced by ossimBilinearProjection::initializeBilinear().

173 {
174  ossimGpt world;
175  ossimDpt testPt;
176 
177  lineSampleToWorld(imagePoint, world);
178  worldToLineSample(world, testPt);
179 
180  errorResult = imagePoint - testPt;
181 }
virtual void lineSampleToWorld(const ossimDpt &lineSampPt, ossimGpt &worldPt) const =0
virtual void worldToLineSample(const ossimGpt &worldPoint, ossimDpt &lineSampPt) const =0

◆ getRoundTripError() [2/2]

void ossimProjection::getRoundTripError ( const ossimGpt groundPoint,
ossimDpt errorResult 
) const
virtual

Definition at line 183 of file ossimProjection.cpp.

185 {
186  ossimDpt tempPt;
187  ossimGpt tempGround;
188 
189  worldToLineSample(groundPoint, tempPt);
190  lineSampleToWorld(tempPt, tempGround);
191 
192  errorResult = ossimDpt(groundPoint) - ossimDpt(tempGround);
193 }
virtual void lineSampleToWorld(const ossimDpt &lineSampPt, ossimGpt &worldPt) const =0
virtual void worldToLineSample(const ossimGpt &worldPoint, ossimDpt &lineSampPt) const =0

◆ inverse()

ossimGpt ossimProjection::inverse ( const ossimDpt pp) const
inlinevirtual

◆ isAffectedByElevation()

virtual bool ossimProjection::isAffectedByElevation ( ) const
pure virtual

◆ isEqualTo()

virtual bool ossimProjection::isEqualTo ( const ossimObject obj,
ossimCompareType  compareType = OSSIM_COMPARE_FULL 
) const
inlinevirtual

Reimplemented from ossimObject.

Reimplemented in ossimMapProjection.

Definition at line 93 of file ossimProjection.h.

References ossimObject::isEqualTo().

Referenced by ossimMapProjection::isEqualTo(), ossimImageGeometry::isEqualTo(), and ossimImageViewProjectionTransform::viewToImage().

94  {
95  return ossimObject::isEqualTo(obj, compareType);
96  }
virtual bool isEqualTo(const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const

◆ lineSampleHeightToWorld()

virtual void ossimProjection::lineSampleHeightToWorld ( const ossimDpt lineSampPt,
const double &  heightAboveEllipsoid,
ossimGpt worldPt 
) const
pure virtual

◆ lineSampleToWorld()

virtual void ossimProjection::lineSampleToWorld ( const ossimDpt lineSampPt,
ossimGpt worldPt 
) const
pure virtual

◆ loadState()

bool ossimProjection::loadState ( const ossimKeywordlist kwl,
const char *  prefix = 0 
)
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.

Reimplemented in ossimSensorModel, ossimMapProjection, ossimplugins::ossimGeometricSarSensorModel, ossimRpcModel, ossimFcsiModel, ossimAlbersProjection, ossimSonomaSensor, ossimLambertConformalConicProjection, ossimEquDistCylProjection, ossimplugins::ossimRadarSat2Model, ossimplugins::ossimTerraSarModel, ossimplugins::ossimRadarSat2RPCModel, ossimRpcProjection, ossimplugins::ossimAlosPalsarModel, ossimRsmModel, ossimplugins::ossimRadarSatModel, ossimLlxyProjection, ossimObliqueMercatorProjection, ossimplugins::ossimEnvisatAsarModel, ossimplugins::ossimErsSarModel, ossimLandSatModel, ossimMercatorProjection, ossimSkyBoxLearSensor, ossimAffineProjection, ossimIpodSensor, ossimWarpProjection, ossimAzimEquDistProjection, ossimTransCylEquAreaProjection, ossimH5GridModel, ossimTransMercatorProjection, ossimCoarseGridModel, ossimplugins::ossimFormosatModel, ossimplugins::ossimPleiadesModel, ossimplugins::ossimSpot6Model, ossimCylEquAreaProjection, ossimplugins::ossimTileMapModel, ossimEckert6Projection, ossimSinusoidalProjection, ossimSpot5Model, ossimEckert4Projection, ossimVanDerGrintenProjection, ossimBonneProjection, ossimMollweidProjection, ossimOrthoGraphicProjection, ossimRS1SarModel, ossimApplanixEcefModel, ossimCassiniProjection, ossimMillerProjection, ossimPolyconicProjection, ossimAdjMapModel, ossimGnomonicProjection, ossimStereographicProjection, ossimPolarStereoProjection, ossimNitfRpcModel, ossimUtmProjection, ossimNewZealandMapGridProjection, ossimSpectraboticsRedEdgeModel, ossimSarModel, ossimSpaceObliqueMercatorProjection, ossimBilinearProjection, ossimNitfMapModel, ossimNitfRsmModel, ossimPpjFrameSensor, ossimQuadProjection, ossimIkonosRpcModel, ossimApplanixUtmModel, ossimQuickbirdRpcModel, ossimCadrgProjection, ossimUpsProjection, ossimAlphaSensor, ossimPolynomProjection, ossimAlphaSensorHRI, ossimAlphaSensorHSI, ossimBngProjection, and ossimGoogleProjection.

Definition at line 57 of file ossimProjection.cpp.

Referenced by ossimHdf5ProjectionFactory::createProjection(), ossimSensorModelFactory::createProjection(), ossimGdalProjectionFactory::createProjection(), ossimMiscProjectionFactory::createProjection(), ossimplugins::ossimPluginProjectionFactory::createProjection(), ossimMapProjectionFactory::createProjection(), ossimEpsgProjectionFactory::createProjection(), ossimPolynomProjection::loadState(), ossimCadrgProjection::loadState(), ossimQuadProjection::loadState(), ossimBilinearProjection::loadState(), and ossimMapProjection::loadState().

59 {
60  return true;
61 }

◆ operator!=()

virtual bool ossimProjection::operator!= ( const ossimProjection projection) const
inlinevirtual

Definition at line 103 of file ossimProjection.h.

103 {return !(*this == projection);}

◆ operator==()

virtual bool ossimProjection::operator== ( const ossimProjection projection) const
pure virtual

◆ origin()

virtual ossimGpt ossimProjection::origin ( ) const
pure virtual

◆ print()

std::ostream & ossimProjection::print ( std::ostream &  out) const
virtual

Outputs theErrorStatus as an ossimErrorCode and an ossimString.

Returns
std::ostream&
Note
Derived classes should only have to implement a virtual print, not an operator<< funtion as it's implemented here.

Reimplemented from ossimErrorStatusInterface.

Reimplemented in ossimMapProjection, ossimplugins::ossimGeometricSarSensorModel, ossimSensorModel, ossimLambertConformalConicProjection, ossimRpcModel, ossimFcsiModel, ossimplugins::ossimRadarSat2Model, ossimplugins::ossimTerraSarModel, ossimplugins::ossimRadarSat2RPCModel, ossimplugins::ossimEnvisatAsarModel, ossimLlxyProjection, ossimSarModel, ossimTransMercatorProjection, ossimRpcProjection, ossimLandSatModel, ossimRsmModel, ossimUtmProjection, ossimAffineProjection, ossimWarpProjection, ossimCoarseGridModel, ossimplugins::ossimFormosatModel, ossimplugins::ossimPleiadesModel, ossimplugins::ossimSpot6Model, ossimSpot5Model, ossimAdjMapModel, ossimBilinearProjection, ossimplugins::ossimTileMapModel, ossimNitfMapModel, and ossimPolynomProjection.

Definition at line 199 of file ossimProjection.cpp.

References ossimErrorStatusInterface::print().

Referenced by ossimBilinearProjection::print(), ossimAffineProjection::print(), ossimWarpProjection::print(), ossimSensorModel::print(), ossimMapProjection::print(), and ossimImageGeometry::print().

200 {
202 }
virtual std::ostream & print(std::ostream &out) const
Outputs theErrorStatus as an ossimErrorCode and an ossimString.

◆ saveState()

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

METHODS: saveState, loadState Fulfills ossimObject base-class pure virtuals.

Reimplemented from ossimObject.

Reimplemented in ossimSensorModel, ossimMapProjection, ossimplugins::ossimGeometricSarSensorModel, ossimRpcModel, ossimFcsiModel, ossimSonomaSensor, ossimAlbersProjection, ossimLambertConformalConicProjection, ossimEquDistCylProjection, ossimRpcProjection, ossimplugins::ossimRadarSat2Model, ossimplugins::ossimTerraSarModel, ossimplugins::ossimRadarSat2RPCModel, ossimSkyBoxLearSensor, ossimplugins::ossimAlosPalsarModel, ossimLandSatModel, ossimLlxyProjection, ossimRsmModel, ossimplugins::ossimRadarSatModel, ossimIpodSensor, ossimObliqueMercatorProjection, ossimplugins::ossimEnvisatAsarModel, ossimAffineProjection, ossimWarpProjection, ossimplugins::ossimErsSarModel, ossimMercatorProjection, ossimplugins::ossimFormosatModel, ossimplugins::ossimPleiadesModel, ossimplugins::ossimSpot6Model, ossimAzimEquDistProjection, ossimCoarseGridModel, ossimTransCylEquAreaProjection, ossimplugins::ossimTileMapModel, ossimH5GridModel, ossimSpot5Model, ossimTransMercatorProjection, ossimSarModel, ossimAdjMapModel, ossimApplanixEcefModel, ossimCylEquAreaProjection, ossimRS1SarModel, ossimEckert6Projection, ossimSinusoidalProjection, ossimEckert4Projection, ossimVanDerGrintenProjection, ossimBonneProjection, ossimMollweidProjection, ossimOrthoGraphicProjection, ossimCassiniProjection, ossimMillerProjection, ossimPolyconicProjection, ossimGnomonicProjection, ossimStereographicProjection, ossimNitfRpcModel, ossimPolarStereoProjection, ossimSpectraboticsRedEdgeModel, ossimUtmProjection, ossimNewZealandMapGridProjection, ossimBilinearProjection, ossimPpjFrameSensor, ossimSpaceObliqueMercatorProjection, ossimNitfMapModel, ossimHdf5GridModel, ossimQuadProjection, ossimApplanixUtmModel, ossimQuickbirdRpcModel, ossimNitfRsmModel, ossimIkonosRpcModel, ossimAlphaSensor, ossimCadrgProjection, ossimAlphaSensorHRI, ossimAlphaSensorHSI, ossimPolynomProjection, ossimUpsProjection, ossimBngProjection, ossimGoogleProjection, and ossimEnviCgModel.

Definition at line 43 of file ossimProjection.cpp.

References ossimKeywordlist::add(), ossimKeywordNames::TYPE_KW, and TYPE_NAME.

Referenced by ossimMapProjection::assign(), ossimGdalProjectionFactory::createProjection(), ossimEpsgProjectionFactory::createProjection(), ossimCadrgProjection::saveState(), ossimQuadProjection::saveState(), ossimBilinearProjection::saveState(), ossimMapProjection::saveState(), ossimImageGeometry::saveState(), ossimRpcProjection::setupOptimizer(), and ossimRpcModel::setupOptimizer().

45 {
46  kwl.add(prefix,
48  TYPE_NAME(this),
49  true);
50 
51  return true;
52 }
#define TYPE_NAME(p)
Definition: ossimRtti.h:326
static const char * TYPE_KW
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)

◆ worldToLineSample()

void ossimProjection::worldToLineSample ( const ossimGpt worldPoint,
ossimDpt lineSampPt 
) const
pure virtual

METHOD: worldToLineSample() Performs the forward projection from ground point to line, sample.

Implemented in ossimFcsiModel, ossimSensorModel, ossimRpcModel, ossimplugins::ossimRadarSat2RPCModel, ossimSarModel, ossimH5GridModel, ossimAdjMapModel, ossimplugins::ossimTileMapModel, ossimEquDistCylProjection, ossimRpcProjection, ossimLlxyProjection, ossimMapProjection, ossimAffineProjection, ossimWarpProjection, ossimNitfRpcModel, ossimPolynomProjection, ossimApplanixEcefModel, ossimBilinearProjection, ossimRsmModel, ossimPpjFrameSensor, ossimSpectraboticsRedEdgeModel, ossimApplanixUtmModel, ossimQuadProjection, ossimAlphaSensorHRI, ossimAlphaSensorHSI, and ossimCadrgProjection.

Definition at line 70 of file ossimProjection.cpp.

Referenced by ossimIgenGenerator::addPadding(), forward(), ossimIgenGenerator::generatePixelTiledSpecList(), ossimQuadProjection::worldToLineSample(), ossimBilinearProjection::worldToLineSample(), ossimH5GridModel::worldToLineSample(), ossimSensorModel::worldToLineSample(), and ossimImageGeometry::worldToLocal().

72 {
73  if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimProjection::worldToLineSample: entering..." << std::endl;
74 
75  static const double PIXEL_THRESHOLD = 0.1; // acceptable pixel error
76  static const int MAX_NUM_ITERATIONS = 20;
77 
78  //***
79  // First check if the world point is inside bounding rectangle:
80  //***
81  int iters = 0;
82  double height = worldPoint.hgt;
83  if ( ossim::isnan(height) )
84  {
85  height = 0.0;
86  }
87 
88  //***
89  // Utilize iterative scheme for arriving at image point. Begin with guess
90  // at image center:
91  //***
92  ip.u = 0;
93  ip.v = 0;
94 
95  ossimDpt ip_du;
96  ossimDpt ip_dv;
97 
98  ossimGpt gp, gp_du, gp_dv;
99  double dlat_du, dlat_dv, dlon_du, dlon_dv;
100  double delta_lat, delta_lon, delta_u, delta_v;
101  double inverse_norm;
102 
103  //***
104  // Begin iterations:
105  //***
106  do
107  {
108  //***
109  // establish perturbed image points about the guessed point:
110  //***
111  ip_du.u = ip.u + 1.0;
112  ip_du.v = ip.v;
113  ip_dv.u = ip.u;
114  ip_dv.v = ip.v + 1.0;
115 
116  //***
117  // Compute numerical partials at current guessed point:
118  //***
119  lineSampleHeightToWorld(ip, height, gp);
120  lineSampleHeightToWorld(ip_du, height, gp_du);
121  lineSampleHeightToWorld(ip_dv, height, gp_dv);
122 
123  dlat_du = gp_du.lat - gp.lat; //e
124  dlon_du = gp_du.lon - gp.lon; //g
125  dlat_dv = gp_dv.lat - gp.lat; //f
126  dlon_dv = gp_dv.lon - gp.lon; //h
127 
128  //***
129  // Test for convergence:
130  //***
131  delta_lat = worldPoint.lat - gp.lat;
132  delta_lon = worldPoint.lon - gp.lon;
133 
134  //***
135  // Compute linearized estimate of image point given gp delta:
136  //***
137  inverse_norm = dlat_dv*dlon_du - dlat_du*dlon_dv; // fg-eh
138  if (inverse_norm != 0)
139  {
140  delta_u = (-dlon_dv*delta_lat + dlat_dv*delta_lon)/inverse_norm;
141  delta_v = ( dlon_du*delta_lat - dlat_du*delta_lon)/inverse_norm;
142  ip.u += delta_u;
143  ip.v += delta_v;
144  }
145  else
146  {
147  delta_u = 0;
148  delta_v = 0;
149  }
150 
151  iters++;
152 
153  } while (((fabs(delta_u) > PIXEL_THRESHOLD) ||
154  (fabs(delta_v) > PIXEL_THRESHOLD)) &&
155  (iters < MAX_NUM_ITERATIONS));
156 
157  //***
158  // Note that this error mesage appears only if max count was reached while
159  // iterating. A linear (no iteration) solution would finish with iters =
160  // MAX_NUM_ITERATIONS + 1:
161  //***
162  if (iters == MAX_NUM_ITERATIONS)
163  {
164 // ossimNotify(ossimNotifyLevel_WARN) << "WARNING ossimProjection::worldToLineSample: Exceeded max number of iterations computing image \n"
165 // << "point for ground point: " << worldPoint
166 // << "\nCheck the geometry file for valid quantities." << endl;
167  }
168 
169 }
double u
Definition: ossimDpt.h:164
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
ossim_float64 lon
Definition: ossimGpt.h:266
virtual void lineSampleHeightToWorld(const ossimDpt &lineSampPt, const double &heightAboveEllipsoid, ossimGpt &worldPt) const =0
ossim_float64 lat
Definition: ossimGpt.h:265
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
double v
Definition: ossimDpt.h:165
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
Definition: ossimCommon.h:91

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