Interpolator for walberla::field::Field with nearest neighbor strategy.
This interpolator obtains the value from the nearest cell, flagged in the evaluation mask, of the interpolation position. This is usually the cell that contains the interpolation position. If this cell is a cell that is not within the evaluation mask, the direct neighborhood (8 cells) will be searched for an available cell. Never construct this interpolator directly, but use the functionality from FieldInterpolatorCreators.h instead.
#include <NearestNeighborFieldInterpolator.h>
Public Types | |
using | BaseField_T = Field_T |
using | flag_t = typename FlagField_T::flag_t |
using | OwnType = NearestNeighborFieldInterpolator< Field_T, FlagField_T > |
Public Member Functions | |
NearestNeighborFieldInterpolator (const weak_ptr< StructuredBlockStorage > &blockStorage, const IBlock &block, const BaseField_T &baseField, const FlagField_T &flagField, const flag_t &evaluationMask) | |
bool | operator== (const OwnType &other) |
template<typename ForwardIterator_T > | |
void | get (const Vector3< real_t > &position, ForwardIterator_T interpolationResultBegin) |
template<typename ForwardIterator_T > | |
void | get (const real_t &x, const real_t &y, const real_t &z, ForwardIterator_T interpolationResultBegin) |
Static Public Attributes | |
static const uint_t | F_SIZE = Field_T::F_SIZE |
Private Attributes | |
weak_ptr< StructuredBlockStorage > | blockStorage_ |
const IBlock & | block_ |
const BaseField_T & | baseField_ |
const FlagField_T & | flagField_ |
flag_t | evaluationMask_ |
using walberla::field::NearestNeighborFieldInterpolator< Field_T, FlagField_T >::BaseField_T = Field_T |
using walberla::field::NearestNeighborFieldInterpolator< Field_T, FlagField_T >::flag_t = typename FlagField_T::flag_t |
using walberla::field::NearestNeighborFieldInterpolator< Field_T, FlagField_T >::OwnType = NearestNeighborFieldInterpolator<Field_T, FlagField_T> |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
static |
|
private |