Class Mesh3DInterpolator::ZSliceSource
Defined in File Mesh3DInterpolator.hpp
Nested Relationships
This class is a nested type of Template Class Mesh3DInterpolator.
Inheritance Relationships
Base Type
public interp::LazyValueSource< NF >(Template Class LazyValueSource)
Class Documentation
-
class ZSliceSource : public interp::LazyValueSource<NF>
Supplies the function values of a z slice on demand, for lazySliceConstZ()
value(i,j) is exactly what buildSliceZ() stores at mesh point (i,j): f at z plane k0 directly for an exact match, and otherwise zInterp()[i,j] evaluated at the sz coordinate interpolated between planes k0 and k0 + 1 with weight t.
Public Types
-
using FView = std::mdspan<const double, std::dextents<size_t, 4>>
Type of Mesh3DInterpolator::f()
-
using SzView = std::mdspan<const double, std::dextents<size_t, 3>>
Type of Mesh3DInterpolator::sz()
-
using ZInterpView = std::mdspan<const std::unique_ptr<Interpolator1D<NF>>, std::dextents<size_t, 2>>
Type of Mesh3DInterpolator::zInterp()
Public Functions
-
inline ZSliceSource(const FView f, const SzView sz, const ZInterpView zInterp, const size_t k0, const double t, const bool exact)
Construct a ZSliceSource.
Holds views of the mesh’s heap buffers rather than a pointer to the mesh itself, so it stays valid if the mesh is moved; the buffers must outlive this object.
-
inline auto value(const size_t i, const size_t j) const -> std::array<double, NF> override
Return the function values at one mesh point of the slice.
- Parameters:
i – Index of the point in the x direction
j – Index of the point in the y direction
- Returns:
The NF function values at mesh point (i,j)
-
using FView = std::mdspan<const double, std::dextents<size_t, 4>>