OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimImageViewTransform.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Garrett Potts (gpotts@imagelinks.com)
6 //
7 // Description: This class hides the image view transformation process.
8 // We should be able to open up ay image within the system
9 // and be able to map it to the view space. Classes need to
10 // derive and override the methods within this class. This will
11 // mainly be used in the resampling process.
12 //
13 //*******************************************************************
14 // $Id: ossimImageViewTransform.h 18397 2010-11-09 19:13:46Z gpotts $
15 #ifndef ossimImageViewTransform_HEADER
16 #define ossimImageViewTransform_HEADER
17 #include <iostream>
18 using namespace std;
20 #include <ossim/base/ossimObject.h>
21 #include <ossim/base/ossimDpt.h>
22 #include <ossim/base/ossimDrect.h>
24 
26  public ossimViewInterface
27 {
28 public:
30  const ossimImageViewTransform& data);
31 
33 
34  virtual void forward(const ossimDpt& input, ossimDpt& output) const;
35  virtual void inverse(const ossimDpt& input, ossimDpt& output) const;
36 
41  virtual bool isIdentity()const=0;
42 
43 
44  virtual bool isValid()const=0;
45  virtual ossimDpt getInputMetersPerPixel()const=0;
46  virtual ossimDpt getOutputMetersPerPixel()const=0;
58  virtual void getImageToViewScale(ossimDpt& resultScale,
59  const ossimDpt& imagePoint,
60  const ossimDpt& deltaImagePointXY)const;
61 
73  virtual void getViewToImageScale(ossimDpt& resultScale,
74  const ossimDpt& imagePoint,
75  const ossimDpt& deltaImagePointXY)const;
76 
77  virtual void imageToView(const ossimDpt& imagePoint,
78  ossimDpt& viewPoint)const;
79 
80  virtual void viewToImage(const ossimDpt& viewPoint,
81  ossimDpt& imagePoint)const;
82 
83  virtual std::ostream& print(std::ostream& out) const;
84 
85  ossimDpt imageToView(const ossimDpt& imagePoint)const;
86 
87  ossimDpt viewToImage(const ossimDpt& viewPoint)const;
88 
92  virtual void getScaleChangeImageToView(ossimDpt& result,
93  const ossimDrect& imageRect);
97  virtual void getScaleChangeViewToImage(ossimDpt& result,
98  const ossimDrect& viewRect);
99 
100  virtual void getRoundTripErrorView(ossimDpt& result,
101  const ossimDpt& viewPt)const;
102 
103  virtual ossimDpt getRoundTripErrorView(const ossimDpt& viewPt)const;
104 
105  virtual void getRoundTripErrorImage(ossimDpt& result,
106  const ossimDpt& imagePt)const;
107 
108  virtual ossimDpt getRoundTripErrorImage(const ossimDpt& imagePt)const;
109 
112  virtual ossimDrect getImageToViewBounds(const ossimDrect& imageRect) const;
113 
116  virtual ossimDrect getViewToImageBounds(const ossimDrect& viewRect) const;
117 
118  virtual bool loadState(const ossimKeywordlist& kwl,
119  const char* prefix =0);
120 
121  virtual bool saveState(ossimKeywordlist& kwl,
122  const char* prefix = 0)const;
123 
124 TYPE_DATA
125 };
126 
127 #endif
#define OSSIMDLLEXPORT
Represents serializable keyword/value map.
std::ostream & print(H5::H5File *file, std::ostream &out)
Print method.
Definition: ossimH5Util.cpp:41
ostream & operator<<(ostream &out, const ossimAxes &axes)
Definition: ossimAxes.h:88
#define TYPE_DATA
Definition: ossimRtti.h:339
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23