OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimWarpProjection.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // AUTHOR: Oscar Kramer
6 //
7 // DESCRIPTION:
8 // Contains declaration of class ossimWarpProjection. This is an
9 // implementation of a warping interpolation model.
10 //
11 //*****************************************************************************
12 // $Id: ossimWarpProjection.h 17207 2010-04-25 23:21:14Z dburken $
13 
14 #ifndef ossimWarpProjection_HEADER
15 #define ossimWarpProjection_HEADER
16 
18 #include <ossim/base/ossimIpt.h>
19 
21 
22 /*!****************************************************************************
23  *
24  * CLASS: ossimWarpProjection
25  *
26  *****************************************************************************/
28 {
29 public:
34 
39 
43  ossimWarpProjection(const ossimKeywordlist& geom_kwl,
44  const char* prefix=0);
45 
47 
52  virtual void worldToLineSample(const ossimGpt& worldPoint,
53  ossimDpt& lineSampPt) const;
54 
59  virtual void lineSampleToWorld(const ossimDpt& lineSampPt,
60  ossimGpt& worldPt) const;
61 
66  virtual void lineSampleHeightToWorld(const ossimDpt& lineSampPt,
67  const double& hgtEllipsoid,
68  ossimGpt& worldPt) const;
69 
73  virtual std::ostream& print(std::ostream& out) const;
75  const ossimWarpProjection& m);
76 
81  virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=0) const;
82  virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
83 
87  virtual ossimObject* dup() const;
88 
93  virtual ossimGpt origin() const;
94 
98  virtual bool operator==(const ossimProjection& /* projection */) const
99  { return false; }
100 
101  virtual ossimDpt getMetersPerPixel() const;
102 
104  {
105  return theWarpTransform.get();
106  }
108  {
109  return theAffineTransform.get();
110  }
112  {
113  return theClientProjection.get();
114  }
115  virtual void setNewWarpTransform(ossim2dTo2dTransform* warp);
116  virtual void setNewAffineTransform(ossim2dTo2dTransform* affine);
117 
124  virtual bool isAffectedByElevation() const;
125 
126 protected:
127 
134 
135  TYPE_DATA
136 };
137 
139 {
140  return ( theClientProjection.valid() ?
142  false );
143 }
144 
145 #endif
virtual bool isAffectedByElevation() const
Implementation of pure virtual ossimProjection::isAffectedByElevation method.
virtual ossimObject * dup() const =0
#define OSSIMDLLEXPORT
Represents serializable keyword/value map.
bool valid() const
Definition: ossimRefPtr.h:75
virtual std::ostream & print(std::ostream &out) const
Outputs theErrorStatus as an ossimErrorCode and an ossimString.
virtual bool operator==(const ossimProjection &) const
ossimRefPtr< ossim2dTo2dTransform > theWarpTransform
virtual ossim2dTo2dTransform * getWarpTransform()
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual ossim2dTo2dTransform * getAffineTransform()
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual ossimDpt getMetersPerPixel() const =0
virtual void lineSampleHeightToWorld(const ossimDpt &lineSampPt, const double &heightAboveEllipsoid, ossimGpt &worldPt) const =0
virtual ossimProjection * getClientProjection()
virtual ossimGpt origin() const =0
friend OSSIMDLLEXPORT std::ostream & operator<<(std::ostream &out, const ossimErrorStatusInterface &obj)
virtual bool isAffectedByElevation() const =0
Pure virtual method to query if projection is affected by elevation.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual void lineSampleToWorld(const ossimDpt &lineSampPt, ossimGpt &worldPt) const =0
ossimRefPtr< ossim2dTo2dTransform > theAffineTransform
ossimRefPtr< ossimProjection > theClientProjection
virtual void worldToLineSample(const ossimGpt &worldPoint, ossimDpt &lineSampPt) const =0
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23