27 #ifndef fimex_CDMBorderSmoothing_H 28 #define fimex_CDMBorderSmoothing_H 1 36 struct CDMBorderSmoothingPrivate;
61 virtual double operator()(
size_t curX,
size_t curY,
double valueI,
double valueO) = 0;
82 CDMBorderSmoothing(boost::shared_ptr<CDMReader> inner, boost::shared_ptr<CDMReader> outer,
CDMBorderSmoothing(boost::shared_ptr< CDMReader > inner, boost::shared_ptr< CDMReader > outer, int gridInterpolationMethod=MIFI_INTERPOL_BILINEAR)
Smooth transition to 'outer' from inner's data. Returns data on inner grid.
basic_string< char > string
void setSmoothing(SmoothingFactoryPtr smoothingFactory)
Change the smooting function factory.
void setHorizontalSizes(size_t sizeX, size_t sizeY)
Definition: CDMBorderSmoothing.h:58
size_t sizeX_
Definition: CDMBorderSmoothing.h:66
virtual boost::shared_ptr< Data > getDataSlice(const std::string &varName, std::size_t unLimDimPos)
virtual DataPtr getDataSlice(const std::string &varName, size_t unLimDimPos)=0
data-reading function to be called from the CDMWriter
A factory for creating smoothing function objects.
Definition: CDMBorderSmoothing.h:72
boost::shared_ptr< Smoothing > SmoothingPtr
Definition: CDMBorderSmoothing.h:69
Definition: C_CDMReader.h:35
Basic interface for CDM reading and manipulation classes.
Definition: CDMReader.h:53
boost::shared_ptr< SmoothingFactory > SmoothingFactoryPtr
Definition: CDMBorderSmoothing.h:78
virtual ~SmoothingFactory()
Definition: CDMBorderSmoothing.h:74
boost::shared_ptr< CDMBorderSmoothing > CDMBorderSmoothingPtr
Definition: CDMBorderSmoothing.h:98
size_t sizeY_
Definition: CDMBorderSmoothing.h:66
Definition: CDMBorderSmoothing.h:50
void setUseOuterIfInnerUndefined(bool useOuter)
Decide if the outer value shall be used if the inner value is undefined. Default: true...
Definition: mifi_constants.h:68
virtual double operator()(size_t curX, size_t curY, double valueI, double valueO)=0
Definition: CDMBorderSmoothing.h:56
virtual ~Smoothing()
Definition: CDMBorderSmoothing.h:63