MI - Fimex
Public Member Functions | List of all members
MetNoFimex::CoordinateSystemSliceBuilder Class Reference

#include <fimex/CoordinateSystemSliceBuilder.h>

Inheritance diagram for MetNoFimex::CoordinateSystemSliceBuilder:
MetNoFimex::SliceBuilder

Public Member Functions

 CoordinateSystemSliceBuilder (const CDM &cdm, boost::shared_ptr< const CoordinateSystem > cs)
 
virtual ~CoordinateSystemSliceBuilder ()
 
std::vector< CoordinateAxis::AxisTypegetAxisTypes () const
 
void setReferenceTimePos (size_t refTimePos)
 
void setTimeStartAndSize (size_t start, size_t size)
 
void setAxisStartAndSize (CoordinateAxis::AxisType axisType, size_t start, size_t size)
 
SliceBuilder getTimeVariableSliceBuilder ()
 
boost::shared_ptr< const CoordinateSystemgetCoordinateSystem ()
 
- Public Member Functions inherited from MetNoFimex::SliceBuilder
 SliceBuilder (const CDM &cdm, const std::string &varName, bool setUnlimited=false)
 
 SliceBuilder (const std::vector< std::string > &dimNames, const std::vector< size_t > &dimSize)
 
virtual ~SliceBuilder ()
 
void getStartAndSize (const std::string &dimName, std::size_t &start, std::size_t &size) const
 
void setStartAndSize (const std::string &dimName, size_t start, size_t size)
 
void setStartAndSize (const boost::shared_ptr< const CoordinateAxis > &axis, size_t start, size_t size)
 
void setAll (const std::string &dimName)
 
void setAll (const boost::shared_ptr< const CoordinateAxis > &axis)
 
const std::vector< size_t > & getDimensionStartPositions () const
 
const std::vector< size_t > & getDimensionSizes () const
 
std::vector< std::stringgetDimensionNames () const
 
std::vector< std::stringgetUnsetDimensionNames () const
 
const std::vector< size_t > & getMaxDimensionSizes () const
 

Additional Inherited Members

- Protected Member Functions inherited from MetNoFimex::SliceBuilder
size_t getDimPos (const std::string &dimName) const
 

Detailed Description

SliceBuilder with knowledge about the coordinate-system. It is therefore possible to set some variable on the basis that they are i.e. time-axes.

Examples:
coordinateSystem.cpp.

Constructor & Destructor Documentation

MetNoFimex::CoordinateSystemSliceBuilder::CoordinateSystemSliceBuilder ( const CDM cdm,
boost::shared_ptr< const CoordinateSystem cs 
)
virtual MetNoFimex::CoordinateSystemSliceBuilder::~CoordinateSystemSliceBuilder ( )
inlinevirtual

Member Function Documentation

std::vector<CoordinateAxis::AxisType> MetNoFimex::CoordinateSystemSliceBuilder::getAxisTypes ( ) const

Get the types of the dimensions.

Returns
vector of size of dimensions

Referenced by ~CoordinateSystemSliceBuilder().

boost::shared_ptr<const CoordinateSystem> MetNoFimex::CoordinateSystemSliceBuilder::getCoordinateSystem ( )
inline

Return the Coordinate-System of the SliceBuilder.

Returns
coordinateSystem, same as used for initialization
SliceBuilder MetNoFimex::CoordinateSystemSliceBuilder::getTimeVariableSliceBuilder ( )

Get a slice-builder to fetch data for the time-variable with the same reference-time as set for the current slice. It should be used as:

reader->getDataSlice(cs->getTimeAxis()->getName(), cssb->getTimeVariableSliceBuilder)
Examples:
coordinateSystem.cpp.

Referenced by ~CoordinateSystemSliceBuilder().

void MetNoFimex::CoordinateSystemSliceBuilder::setAxisStartAndSize ( CoordinateAxis::AxisType  axisType,
size_t  start,
size_t  size 
)

Set start and size for all axes of the axisType. If axisType is ReferenceTime, only the start-position but not the size is used.

Parameters
axisType
start
size
Warning
When having duplicated axis, this function might return strange results. This happens most likely when having more than 6 dimensions (multiple 'Other' axes). The author didn't see such files yet.

Referenced by ~CoordinateSystemSliceBuilder().

void MetNoFimex::CoordinateSystemSliceBuilder::setReferenceTimePos ( size_t  refTimePos)

Set a single reference-time. The CoordinateSystemSliceBuilder will only fetch a single reference-time, by default the first one.

Examples:
coordinateSystem.cpp.

Referenced by ~CoordinateSystemSliceBuilder().

void MetNoFimex::CoordinateSystemSliceBuilder::setTimeStartAndSize ( size_t  start,
size_t  size 
)

Set the start and the size of the time-dimension. This might even be a 2-dimensional time-dimension, i.e. (refTime,offset)

Examples:
coordinateSystem.cpp.

Referenced by ~CoordinateSystemSliceBuilder().


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