/usr/include/ossim/base/ossim2dTo2dShiftTransform.h is in libossim-dev 2.2.2-1.
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 | //----------------------------------------------------------------------------
//
// License: MIT
//
// See LICENSE.txt file in the top level directory for more details.
//
//----------------------------------------------------------------------------
// $Id$
#ifndef ossim2dTo2dShiftTransform_HEADER
#define ossim2dTo2dShiftTransform_HEADER
#include <ossim/base/ossim2dTo2dTransform.h>
class OSSIM_DLL ossim2dTo2dShiftTransform : public ossim2dTo2dTransform
{
public:
/**
* Constructor to initialize the shift transform
*/
ossim2dTo2dShiftTransform(const ossimDpt& shift = ossimDpt(0.0,0.0))
:ossim2dTo2dTransform(),
m_shift(shift)
{}
/**
* Copy constructor
*/
ossim2dTo2dShiftTransform(const ossim2dTo2dShiftTransform& src)
:ossim2dTo2dTransform(src),
m_shift(src.m_shift)
{}
/**
* Duplication method that duplicates this object
*/
virtual ossimObject* dup()const{return new ossim2dTo2dShiftTransform(*this);}
/**
* operator = allows one to copy the contents of the class through a common =
* operator. The = is passed to the derived class.
*/
const ossim2dTo2dShiftTransform& operator =(const ossim2dTo2dShiftTransform& src)
{
if(this == &src) return *this;
ossim2dTo2dTransform::operator =(*this); // call base classes equal operator
m_shift = src.m_shift;
return *this;
}
/**
* Apply the shift to the input.
*
* @param input The value to shift.
* @param output the shifted value.
*/
virtual void forward(const ossimDpt& input,
ossimDpt& output) const
{
output = input + m_shift;
}
/**
* Apply the shift to the input and put the result in the same variable
*
* @param modify_this The value to shift. The result is placed back into this value.
*/
virtual void forward(ossimDpt& modify_this) const
{
modify_this.x += m_shift.x;
modify_this.y += m_shift.y;
}
/**
* Negate the shift to the input and put the result in output.
*
* @param input The value to apply the negated shift.
* @param output the shifted value.
*/
virtual void inverse(const ossimDpt& input,
ossimDpt& output) const
{
output = input - m_shift;
}
/**
* Negate the shift operation and put the result in the same variable
*
* @param modify_this The value to shift. The result is placed back into this value.
*/
virtual void inverse(ossimDpt& modify_this) const
{
modify_this.x -= m_shift.x;
modify_this.y -= m_shift.y;
}
/**
* Saves the state of this object.
*/
virtual bool saveState(ossimKeywordlist& kwl,
const char* prefix = 0)const;
/**
* loads the state of this object from a keywordlist.
*/
virtual bool loadState(const ossimKeywordlist& kwl,
const char* prefix = 0);
/**
* Print the contents of the class and pass to the derived class.
*/
virtual std::ostream& print(std::ostream& out) const
{
ossim2dTo2dTransform::print(out);
out << "shift: " << m_shift;
return out;
}
protected:
virtual ~ossim2dTo2dShiftTransform(){}
ossimDpt m_shift;
TYPE_DATA;
};
#endif
|