/usr/include/ossim/projection/ossimWarpProjection.h is in libossim-dev 1.8.16-3+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | //*******************************************************************
//
// License: See top level LICENSE.txt file.
//
// AUTHOR: Oscar Kramer
//
// DESCRIPTION:
// Contains declaration of class ossimWarpProjection. This is an
// implementation of a warping interpolation model.
//
//*****************************************************************************
// $Id: ossimWarpProjection.h 17207 2010-04-25 23:21:14Z dburken $
#ifndef ossimWarpProjection_HEADER
#define ossimWarpProjection_HEADER
#include <ossim/projection/ossimProjection.h>
#include <ossim/base/ossimIpt.h>
class ossim2dTo2dTransform;
/*!****************************************************************************
*
* CLASS: ossimWarpProjection
*
*****************************************************************************/
class OSSIMDLLEXPORT ossimWarpProjection : public ossimProjection
{
public:
/*!
* Default Contructor:
*/
ossimWarpProjection();
/*!
* Primary constructor accepting pointer to the underlying client projection.
*/
ossimWarpProjection(ossimProjection* client);
/*!
* Constructor accepts OSSIM keywordlist geometry file.
*/
ossimWarpProjection(const ossimKeywordlist& geom_kwl,
const char* prefix=0);
~ossimWarpProjection();
/*!
* METHOD: worldToLineSample()
* Performs the forward projection from ground point to line, sample.
*/
virtual void worldToLineSample(const ossimGpt& worldPoint,
ossimDpt& lineSampPt) const;
/*!
* METHOD: lineSampleToWorld()
* Performs the inverse projection from line, sample to ground (world):
*/
virtual void lineSampleToWorld(const ossimDpt& lineSampPt,
ossimGpt& worldPt) const;
/*!
* Performs the inverse projection from line, sample to ground, bypassing
* reference to elevation surface:
*/
virtual void lineSampleHeightToWorld(const ossimDpt& lineSampPt,
const double& hgtEllipsoid,
ossimGpt& worldPt) const;
/*!
* Extends base-class implementation. Dumps contents of object to ostream.
*/
virtual std::ostream& print(std::ostream& out) const;
friend std::ostream& operator<<(std::ostream& os,
const ossimWarpProjection& m);
/*!
* Fulfills ossimObject base-class pure virtuals. Loads and saves geometry
* KWL files. Returns true if successful.
*/
virtual bool saveState(ossimKeywordlist& kwl, const char* prefix=0) const;
virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
/*!
* Returns pointer to a new instance, copy of this.
*/
virtual ossimObject* dup() const;
/*!
* Returns projection's ground point origin. That is the GP corresponding
* to line=0, sample=0.
*/
virtual ossimGpt origin() const;
/*!
* Compares this instance with arg projection. NOT IMPLEMENTED.
*/
virtual bool operator==(const ossimProjection& /* projection */) const
{ return false; }
virtual ossimDpt getMetersPerPixel() const;
virtual ossim2dTo2dTransform* getWarpTransform()
{
return theWarpTransform.get();
}
virtual ossim2dTo2dTransform* getAffineTransform()
{
return theAffineTransform.get();
}
virtual ossimProjection* getClientProjection()
{
return theClientProjection.get();
}
virtual void setNewWarpTransform(ossim2dTo2dTransform* warp);
virtual void setNewAffineTransform(ossim2dTo2dTransform* affine);
/**
* @brief Implementation of pure virtual
* ossimProjection::isAffectedByElevation method.
* @return based on theClientProjection->isAffectedByElevation().
* If theClientProjection is null this returns true just to be safe.
*/
virtual bool isAffectedByElevation() const;
protected:
/*!
* Data Members:
*/
ossimRefPtr<ossimProjection> theClientProjection;
ossimRefPtr<ossim2dTo2dTransform> theWarpTransform;
ossimRefPtr<ossim2dTo2dTransform> theAffineTransform;
TYPE_DATA
};
inline bool ossimWarpProjection::isAffectedByElevation() const
{
return ( theClientProjection.valid() ?
theClientProjection->isAffectedByElevation() :
false );
}
#endif
|