00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef CACHEDVECTORREPROJECTION_H_
00025 #define CACHEDVECTORREPROJECTION_H_
00026
00027 #include <boost/shared_ptr.hpp>
00028 #include "fimex/Data.h"
00029 #include "fimex/interpolation.h"
00030
00031 namespace MetNoFimex
00032 {
00033
00034 class CachedVectorReprojection
00035 {
00036 public:
00037 CachedVectorReprojection() : method(MIFI_OK), ox(0), oy(0) {}
00038 CachedVectorReprojection(int method, boost::shared_array<double> matrix, int ox, int oy) : method(method), matrix(matrix), ox(ox), oy(oy) {}
00039 virtual ~CachedVectorReprojection() {}
00047 void reprojectValues(boost::shared_array<float>& uValues, boost::shared_array<float>& vValues, size_t size) const throw(CDMException);
00048
00049 size_t getXSize() const {return ox;}
00050
00051 size_t getYSize() const {return oy;}
00052
00053 private:
00054 int method;
00055 boost::shared_array<double> matrix;
00056 size_t ox;
00057 size_t oy;
00058 };
00059
00060 }
00061
00062 #endif