00001
00022 #ifndef _BASICALGORITHMS_TRANSLATEPANORAMA_H
00023 #define _BASICALGORITHMS_TRANSLATEPANORAMA_H
00024
00025 #include <hugin_shared.h>
00026 #include <algorithms/PanoramaAlgorithm.h>
00027 #include <panodata/PanoramaData.h>
00028
00029
00030 namespace HuginBase {
00031
00032
00033 class IMPEX TranslatePanorama : public PanoramaAlgorithm
00034 {
00035
00036 public:
00038 TranslatePanorama(PanoramaData& panorama, const double x, const double y, const double z)
00039 : PanoramaAlgorithm(panorama), o_x(x), o_y(y), o_z(z)
00040 {};
00041
00043 TranslatePanorama(PanoramaData& panorama);
00044
00046 virtual ~TranslatePanorama() {};
00047
00048
00049 public:
00051 static void translatePano(PanoramaData& panorama, const double x, const double y, const double z);
00052
00053
00054 public:
00056 virtual bool modifiesPanoramaData() const
00057 { return true; }
00058
00060 virtual bool runAlgorithm()
00061 {
00062 translatePano(o_panorama, o_x, o_y, o_z);
00063 return true;
00064 }
00065
00066
00067 protected:
00068 double o_x;
00069 double o_y;
00070 double o_z;
00071 };
00072
00073
00074 }
00075 #endif