/usr/include/ossim/projection/ossimImageViewProjectionTransform.h is in libossim-dev 1.7.21-3ubuntu2.
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 146 147 148 149 150 151 152 153 154 155 156 157 | //*******************************************************************
//
// License: See top level LICENSE.txt file.
//
// AUTHOR: Garrett Potts (gpotts@imagelinks.com)
//
// DESCRIPTION: Contains declaration of ossimImageViewProjectionTransform.
// This class provides an image to view transform that utilizes two
// independent 2D-to-3D projections. Intended for transforming view to
// geographic "world" space to input image space.
//
// LIMITATIONS: None.
//
//*****************************************************************************
// $Id: ossimImageViewProjectionTransform.h 13516 2008-08-29 14:54:12Z dburken $
#ifndef ossimImageViewProjectionTransform_HEADER
#define ossimImageViewProjectionTransform_HEADER
#include <ossim/projection/ossimImageViewTransform.h>
#include <ossim/projection/ossimProjection.h>
class ossimProjection;
class ossimMapProjection;
class OSSIMDLLEXPORT ossimImageViewProjectionTransform : public ossimImageViewTransform
{
public:
ossimImageViewProjectionTransform(ossimProjection* imageProjection=0,
ossimProjection* viewProjection=0,
bool ownsImageProjectionFlag=true,
bool ownsViewProjectionFlag=true);
/** copy constructor */
ossimImageViewProjectionTransform(const ossimImageViewProjectionTransform& src);
virtual ossimObject* dup()const
{
return new ossimImageViewProjectionTransform(*this);
}
virtual ~ossimImageViewProjectionTransform();
virtual bool isValid()const
{
return (theImageProjection&&theViewProjection);
}
virtual bool isIdentity()const
{
if(theImageProjection&&theViewProjection)
{
return (*theImageProjection)==(*theViewProjection);
}
return true;
}
virtual void imageToView(const ossimDpt& imagePoint,
ossimDpt& viewPoint)const;
virtual void viewToImage(const ossimDpt& viewPoint,
ossimDpt& imagePoint)const;
// virtual void getRoundTripErrorView(ossimDpt& result,
// const ossimDpt& viewPt)const;
// virtual void getRoundTripErrorImage(ossimDpt& result,
// const ossimDpt& imagePt)const;
/*!
* Will not allocate a new projection. It will just copy
* the pointer and delete the one it owns if they addresses
* are different. It will own the passes in projection.
*/
void setViewProjection(ossimProjection* viewProjection,
bool ownsViewProjection=false);
/*!
* Will allocate a new projection and copy it.
*/
void setViewProjection(const ossimProjection& viewProjection);
/*!
* Will not allocate a new projection. It will just copy
* the pointer and delete the one it owns if they addresses
* are different. Flag indicates whether this becomes owner.
*/
void setImageProjection(ossimProjection* imageProjection,
bool ownsImageProjection=false);
/*!
* Will allocate a new projection and copy it.
*/
void setImageProjection(const ossimProjection& imageProjection);
virtual std::ostream& print(std::ostream& out) const;
ossimProjection* getImageProjection();
ossimProjection* getViewProjection();
virtual bool setView(ossimObject* baseObject,
bool ownsTheView = false);
virtual ossimObject* getView()
{
return theViewProjection;
}
virtual const ossimObject* getView()const
{
return theViewProjection;
}
virtual ossimDpt getInputMetersPerPixel()const
{
ossimDpt result;
result.makeNan();
if(theImageProjection)
{
result = theImageProjection->getMetersPerPixel();
}
return result;
}
virtual ossimDpt getOutputMetersPerPixel()const
{
ossimDpt result;
result.makeNan();
if(theViewProjection)
{
result = theViewProjection->getMetersPerPixel();
}
return result;
}
virtual ossimDrect getImageToViewBounds(const ossimDrect& imageRect)const;
virtual bool loadState(const ossimKeywordlist& kwl,
const char* prefix =0);
virtual bool saveState(ossimKeywordlist& kwl,
const char* prefix = 0)const;
protected:
ossimProjection* theImageProjection;
ossimProjection* theViewProjection;
bool theOwnsImageProjFlag;
bool theOwnsViewProjFlag;
mutable bool theSameProjection;
mutable bool theInputMapProjectionFlag;
mutable bool theOutputMapProjectionFlag;
void checkSameProjection();
// void findWorldPoint(const ossimDpt& imagePoint,
// ossimGpt& worldPt,
// ossimMapProjection* proj)const;
TYPE_DATA
};
#endif
|