MI - Fimex
Classes | Public Types | Public Member Functions | List of all members
MetNoFimex::CDMBorderSmoothing Class Reference

#include <fimex/CDMBorderSmoothing.h>

Inheritance diagram for MetNoFimex::CDMBorderSmoothing:
MetNoFimex::CDMReader

Classes

class  Smoothing
 
class  SmoothingFactory
 A factory for creating smoothing function objects. More...
 

Public Types

typedef boost::shared_ptr< SmoothingSmoothingPtr
 
typedef boost::shared_ptr< SmoothingFactorySmoothingFactoryPtr
 

Public Member Functions

 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. More...
 
void setSmoothing (SmoothingFactoryPtr smoothingFactory)
 Change the smooting function factory. More...
 
void setUseOuterIfInnerUndefined (bool useOuter)
 Decide if the outer value shall be used if the inner value is undefined. Default: true. More...
 
virtual boost::shared_ptr< DatagetDataSlice (const std::string &varName, std::size_t unLimDimPos)
 
- Public Member Functions inherited from MetNoFimex::CDMReader
 CDMReader ()
 
virtual ~CDMReader ()
 
virtual const CDMgetCDM () const
 
virtual CDMgetInternalCDM ()
 
virtual std::vector< std::size_t > getDims (std::string varName)
 Read the sizes of the dimensions belonging to a variable. More...
 
virtual std::vector< std::size_t > getDimsSlice (std::string varName)
 Read the sizes of the dimensions belonging to a variable slice. More...
 
virtual DataPtr getDataSlice (const std::string &varName, size_t unLimDimPos)=0
 data-reading function to be called from the CDMWriter More...
 
virtual DataPtr getDataSlice (const std::string &varName, const SliceBuilder &sb)
 data-reading function to be called from the CDMWriter More...
 
virtual DataPtr getData (const std::string &varName)
 data-reading function to be called from the CDMWriter More...
 
virtual DataPtr getScaledDataSlice (const std::string &varName, size_t unLimDimPos)
 read and scale a dataslice More...
 
virtual DataPtr getScaledDataSliceInUnit (const std::string &varName, const std::string &unit, size_t unLimDimPos)
 read and scale a dataslice to a known unit More...
 
virtual DataPtr getScaledDataSlice (const std::string &varName, const SliceBuilder &sb)
 read and scale a dataslice More...
 
virtual DataPtr getScaledDataSliceInUnit (const std::string &varName, const std::string &unit, const SliceBuilder &sb)
 read and scale a dataslice to a set unit More...
 
virtual DataPtr getScaledData (const std::string &varName)
 read and scale the complete data More...
 
virtual DataPtr getScaledDataInUnit (const std::string &varName, const std::string &unit)
 read and scale the complete data to a set unit More...
 

Additional Inherited Members

- Protected Member Functions inherited from MetNoFimex::CDMReader
virtual DataPtr getDataSliceFromMemory (const CDMVariable &variable, size_t unLimDimPos=0)
 
void getScaleAndOffsetOf (const std::string &varName, double &scale, double &offset) const
 
- Protected Attributes inherited from MetNoFimex::CDMReader
boost::shared_ptr< CDMcdm_
 

Detailed Description

Takes two readers, inner and outer, and provides data on the area of the inner grid smoothed for overlaying onto outer. If the outer grid does not match the inner, it will be interpolated. Variable names must match.

Used in CDMMerger together with CDMOverlay, and probably not very useful elsewhere.

Member Typedef Documentation

Constructor & Destructor Documentation

MetNoFimex::CDMBorderSmoothing::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.

Member Function Documentation

virtual boost::shared_ptr<Data> MetNoFimex::CDMBorderSmoothing::getDataSlice ( const std::string varName,
std::size_t  unLimDimPos 
)
virtual
void MetNoFimex::CDMBorderSmoothing::setSmoothing ( SmoothingFactoryPtr  smoothingFactory)

Change the smooting function factory.

void MetNoFimex::CDMBorderSmoothing::setUseOuterIfInnerUndefined ( bool  useOuter)

Decide if the outer value shall be used if the inner value is undefined. Default: true.


The documentation for this class was generated from the following file: