CubbyFlow::LinearArraySampler< T, N > Class Template Referencefinal
N-D array sampler using linear interpolation. More...
#include <Core/Array/ArraySamplers.hpp>
Public Types | |
| using | ScalarType = typename GetScalarType< T >::value |
| using | VectorType = Vector< ScalarType, N > |
| using | CoordIndexType = Vector< size_t, N > |
Public Member Functions | |
| LinearArraySampler ()=default | |
| Default constructor. More... | |
| LinearArraySampler (const ArrayView< const T, N > &view, const VectorType &gridSpacing, const VectorType &gridOrigin) | |
| Constructs a sampler. More... | |
| ~LinearArraySampler ()=default | |
| Default destructor. More... | |
| LinearArraySampler (const LinearArraySampler &other) | |
| Copy constructor. More... | |
| LinearArraySampler (LinearArraySampler &&other) noexcept | |
| Move constructor. More... | |
| LinearArraySampler & | operator= (const LinearArraySampler &other) |
| Copy assignment operator. More... | |
| LinearArraySampler & | operator= (LinearArraySampler &&other) noexcept |
| Move assignment operator. More... | |
| T | operator() (const VectorType &pt) const |
Returns sampled value at point pt. More... | |
| void | GetCoordinatesAndWeights (const VectorType &pt, std::array< CoordIndexType, FLAT_KERNEL_SIZE > &indices, std::array< ScalarType, FLAT_KERNEL_SIZE > &weights) const |
| Returns the indices of points and their sampling weight for given point. More... | |
| void | GetCoordinatesAndGradientWeights (const VectorType &pt, std::array< CoordIndexType, FLAT_KERNEL_SIZE > &indices, std::array< VectorType, FLAT_KERNEL_SIZE > &weights) const |
| std::function< T(const VectorType &)> | Functor () const |
| Returns a std::function instance that wraps this instance. More... | |
Static Public Attributes | |
| static constexpr size_t | FLAT_KERNEL_SIZE = 1 << N |
Detailed Description
template<typename T, size_t N>
class CubbyFlow::LinearArraySampler< T, N >
N-D array sampler using linear interpolation.
This class provides linear sampling interface for a given N-D array.
- Template Parameters
-
T - The value type to sample. N - Dimension.
Member Typedef Documentation
◆ CoordIndexType
template<typename T, size_t N>
| using CubbyFlow::LinearArraySampler< T, N >::CoordIndexType = Vector<size_t, N> |
◆ ScalarType
template<typename T, size_t N>
| using CubbyFlow::LinearArraySampler< T, N >::ScalarType = typename GetScalarType<T>::value |
◆ VectorType
template<typename T, size_t N>
| using CubbyFlow::LinearArraySampler< T, N >::VectorType = Vector<ScalarType, N> |
Constructor & Destructor Documentation
◆ LinearArraySampler() [1/4]
template<typename T, size_t N>
|
default |
Default constructor.
◆ LinearArraySampler() [2/4]
template<typename T, size_t N>
|
explicit |
Constructs a sampler.
- Parameters
-
[in] view The array view. [in] gridSpacing The grid spacing. [in] gridOrigin The grid origin.
◆ ~LinearArraySampler()
template<typename T, size_t N>
|
default |
Default destructor.
◆ LinearArraySampler() [3/4]
template<typename T, size_t N>
| CubbyFlow::LinearArraySampler< T, N >::LinearArraySampler | ( | const LinearArraySampler< T, N > & | other | ) |
Copy constructor.
◆ LinearArraySampler() [4/4]
template<typename T, size_t N>
|
noexcept |
Move constructor.
Member Function Documentation
◆ Functor()
template<typename T , size_t N>
| std::function< T(const typename LinearArraySampler< T, N >::VectorType &)> CubbyFlow::LinearArraySampler< T, N >::Functor | ( | ) | const |
Returns a std::function instance that wraps this instance.
◆ GetCoordinatesAndGradientWeights()
template<typename T , size_t N>
| void CubbyFlow::LinearArraySampler< T, N >::GetCoordinatesAndGradientWeights | ( | const VectorType & | pt, |
| std::array< CoordIndexType, FLAT_KERNEL_SIZE > & | indices, | ||
| std::array< VectorType, FLAT_KERNEL_SIZE > & | weights | ||
| ) | const |
Returns the indices of points and their gradient of sampling weight for given point.
◆ GetCoordinatesAndWeights()
template<typename T , size_t N>
| void CubbyFlow::LinearArraySampler< T, N >::GetCoordinatesAndWeights | ( | const VectorType & | pt, |
| std::array< CoordIndexType, FLAT_KERNEL_SIZE > & | indices, | ||
| std::array< ScalarType, FLAT_KERNEL_SIZE > & | weights | ||
| ) | const |
Returns the indices of points and their sampling weight for given point.
◆ operator()()
template<typename T , size_t N>
| T CubbyFlow::LinearArraySampler< T, N >::operator() | ( | const VectorType & | pt | ) | const |
Returns sampled value at point pt.
◆ operator=() [1/2]
template<typename T , size_t N>
| LinearArraySampler< T, N > & CubbyFlow::LinearArraySampler< T, N >::operator= | ( | const LinearArraySampler< T, N > & | other | ) |
Copy assignment operator.
◆ operator=() [2/2]
template<typename T , size_t N>
|
noexcept |
Move assignment operator.
Member Data Documentation
◆ FLAT_KERNEL_SIZE
template<typename T, size_t N>
|
static |
The documentation for this class was generated from the following files:
- Core/Array/ArraySamplers.hpp
- Core/Array/ArraySamplers-Impl.hpp
1.8.13