24 #ifndef CDMINTERPOLATOR_H_ 25 #define CDMINTERPOLATOR_H_ 39 class CoordinateSystem;
40 struct CDMInterpolatorInternals;
50 virtual void operator()(
float* array,
size_t nx,
size_t ny) = 0;
61 : relaxCrit_(relaxCrit), corrEff_(corrEff), maxLoop_(maxLoop) {}
62 virtual void operator()(
float* array,
size_t nx,
size_t ny) {
size_t nChanged;
mifi_fill2d_f(nx, ny, array, relaxCrit_, corrEff_, maxLoop_, &nChanged);};
67 unsigned short repeat_;
71 : repeat_(repeat), setWeight_(setWeight) {}
77 unsigned short repeat_;
82 : repeat_(repeat), setWeight_(setWeight), defVal_(defaultValue) {}
100 class boost::shared_ptr<CDMInterpolatorInternals> p_;
107 void changeProjectionByProjectionParametersToLatLonTemplate(
int method,
126 bool hasXYSpatialVectors()
const;
203 virtual void changeProjection(
int method,
const std::string& netcdf_template_file);
230 virtual void setLatitudeName(
const std::string& latName);
234 virtual const std::string& getLatitudeName()
const;
239 virtual void setLongitudeName(
const std::string& lonName);
243 virtual const std::string& getLongitudeName()
const;
262 virtual void setDistanceOfInterest(
double dist);
268 virtual void addPreprocess(boost::shared_ptr<InterpolatorProcess2d> process);
274 virtual void addPostprocess(boost::shared_ptr<InterpolatorProcess2d> process);
Definition: CDMInterpolator.h:54
int mifi_creepfillval2d_f(size_t nx, size_t ny, float *field, float defaultVal, unsigned short repeat, char setWeight, size_t *nChanged)
Method to fill undefined values in a 2d field in stable time.
basic_string< char > string
boost::shared_ptr< Data > DataPtr
Definition: DataDecl.h:39
Definition: CDMInterpolator.h:48
virtual void operator()(float *array, size_t nx, size_t ny)=0
Definition: SliceBuilder.h:46
int mifi_fill2d_f(size_t nx, size_t ny, float *field, float relaxCrit, float corrEff, size_t maxLoop, size_t *nChanged)
Method to fill undefined values in a 2d field.
MIFI_DEPRECATED(std::vector< CDMAttribute > projStringToAttributes(std::string projStr))
convert a proj4 string to a list of CDMAttributes usable for CF-1.0 projection variable ...
InterpolatorFill2d(float relaxCrit, float corrEff, size_t maxLoop)
Definition: CDMInterpolator.h:60
virtual DataPtr getDataSlice(const std::string &varName, size_t unLimDimPos)=0
data-reading function to be called from the CDMWriter
Definition: C_CDMReader.h:35
Basic interface for CDM reading and manipulation classes.
Definition: CDMReader.h:53
DataPtr interpolationArray2Data(CDMDataType newType, boost::shared_array< float > iData, size_t size, double badValue)
Definition: CDMInterpolator.h:65
Definition: CDMInterpolator.h:96
virtual void operator()(float *array, size_t nx, size_t ny)
Definition: CDMInterpolator.h:83
InterpolatorCreepFillVal2d(unsigned short repeat, char setWeight, float defaultValue)
Definition: CDMInterpolator.h:81
virtual void operator()(float *array, size_t nx, size_t ny)
Definition: CDMInterpolator.h:72
Definition: CDMInterpolator.h:75
int mifi_creepfill2d_f(size_t nx, size_t ny, float *field, unsigned short repeat, char setWeight, size_t *nChanged)
Method to fill undefined values in a 2d field in stable time.
CDMDataType
Definition: CDMDataType.h:35
virtual ~InterpolatorProcess2d()
Definition: CDMInterpolator.h:51
InterpolatorCreepFill2d(unsigned short repeat, char setWeight)
Definition: CDMInterpolator.h:70
virtual void operator()(float *array, size_t nx, size_t ny)
Definition: CDMInterpolator.h:62
boost::shared_array< float > data2InterpolationArray(const DataPtr &inData, double badValue)