USGS

Isis 3.0 Application Source Code Reference

Home

translate.h

Go to the documentation of this file.
00001 #ifndef Translate_h
00002 #define Translate_h
00003 
00004 #include "Transform.h"
00005 #include <cmath>
00006 #include <iostream>
00007 
00008 /**
00009  * @author ????-??-?? Unknown
00010  *
00011  * @internal
00012  */
00013 class Translate : public Isis::Transform {
00014   private:
00015     int p_outputSamples;
00016     int p_outputLines;
00017 
00018     double p_sampleTrans;
00019     double p_lineTrans;
00020 
00021   public:
00022     // constructor
00023     Translate(const double inputSamples, const double inputLines,
00024               const double sampleTrans, const double lineTrans) {
00025       // Save off the sample and line translation
00026       p_sampleTrans = sampleTrans;
00027       p_lineTrans = lineTrans;
00028 
00029       p_outputSamples = (int) inputSamples;
00030       p_outputLines = (int) inputLines;
00031     }
00032 
00033     // destructor
00034     ~Translate() {};
00035 
00036     // Implementations for parent's pure virtual members
00037     // Convert the requested output samp/line to an input samp/line
00038     bool Xform(double &inSample, double &inLine,
00039                const double outSample, const double outLine) {
00040       inSample = outSample - p_sampleTrans;
00041       inLine = outLine - p_lineTrans;
00042       return true;
00043     }
00044 
00045     //  Return the output number of samples
00046     int OutputSamples() const {
00047       return p_outputSamples;
00048     }
00049 
00050     //  Return the output number of lines
00051     int OutputLines() const {
00052       return p_outputLines;
00053     }
00054 };
00055 
00056 #endif
00057