OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossim2dTo2dShiftTransform.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // License: MIT
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 //----------------------------------------------------------------------------
8 // $Id$
9 #ifndef ossim2dTo2dShiftTransform_HEADER
10 #define ossim2dTo2dShiftTransform_HEADER
12 
14 {
15 public:
19  ossim2dTo2dShiftTransform(const ossimDpt& shift = ossimDpt(0.0,0.0))
21  m_shift(shift)
22  {}
23 
29  m_shift(src.m_shift)
30  {}
31 
35  virtual ossimObject* dup()const{return new ossim2dTo2dShiftTransform(*this);}
36 
42  {
43  if(this == &src) return *this;
44 
45  ossim2dTo2dTransform::operator =(*this); // call base classes equal operator
46  m_shift = src.m_shift;
47 
48  return *this;
49  }
50 
57  virtual void forward(const ossimDpt& input,
58  ossimDpt& output) const
59  {
60  output = input + m_shift;
61  }
67  virtual void forward(ossimDpt& modify_this) const
68  {
69  modify_this.x += m_shift.x;
70  modify_this.y += m_shift.y;
71  }
72 
79  virtual void inverse(const ossimDpt& input,
80  ossimDpt& output) const
81  {
82  output = input - m_shift;
83  }
84 
90  virtual void inverse(ossimDpt& modify_this) const
91  {
92  modify_this.x -= m_shift.x;
93  modify_this.y -= m_shift.y;
94  }
98  virtual bool saveState(ossimKeywordlist& kwl,
99  const char* prefix = 0)const;
100 
104  virtual bool loadState(const ossimKeywordlist& kwl,
105  const char* prefix = 0);
106 
110  virtual std::ostream& print(std::ostream& out) const
111  {
113 
114  out << "shift: " << m_shift;
115 
116  return out;
117  }
118 
119 protected:
121 
123 
125 };
126 #endif
virtual void inverse(const ossimDpt &input, ossimDpt &output) const
Negate the shift to the input and put the result in output.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Represents serializable keyword/value map.
double y
Definition: ossimDpt.h:165
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual const ossim2dTo2dTransform & operator=(const ossim2dTo2dTransform &rhs)
virtual void inverse(ossimDpt &modify_this) const
Negate the shift operation and put the result in the same variable.
ossim2dTo2dShiftTransform(const ossim2dTo2dShiftTransform &src)
Copy constructor.
virtual ossimObject * dup() const
Duplication method that duplicates this object.
virtual void forward(const ossimDpt &input, ossimDpt &output) const
Apply the shift to the input.
#define OSSIM_DLL
double x
Definition: ossimDpt.h:164
virtual std::ostream & print(std::ostream &out) const
Generic print method.
ossim2dTo2dShiftTransform(const ossimDpt &shift=ossimDpt(0.0, 0.0))
Constructor to initialize the shift transform.
virtual void forward(ossimDpt &modify_this) const
Apply the shift to the input and put the result in the same variable.
virtual std::ostream & print(std::ostream &out) const
Print the contents of the class and pass to the derived class.
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23