#include <array>
#include <cmath>
#include <covfie/core/algebra/affine.hpp>
#include <covfie/core/backend/primitive/array.hpp>
#include <covfie/core/backend/transformer/affine.hpp>
#include <covfie/core/backend/transformer/clamp.hpp>
#include <covfie/core/backend/transformer/linear.hpp>
#include <covfie/core/backend/transformer/nearest_neighbour.hpp>
#include <covfie/core/backend/transformer/strided.hpp>
#include <covfie/core/field.hpp>
#include <covfie/core/field_view.hpp>
#include <covfie/core/parameter_pack.hpp>
#include <covfie/core/vector.hpp>
#include <cstddef>
#include <stdexcept>
#include <string>
#include <utility>
#include <variant>
Go to the source code of this file.
|
| void | ship::detail::validate (GridSpec const &spec) |
| | Throw if spec cannot produce a well-formed grid: every axis needs at least two samples (n - 1 underflows for n == 0 and divides by zero in grid_pos/the affine scale for n == 1) and a positive extent (max > min, otherwise the affine scale is non-positive or infinite).
|
| |
| float | ship::detail::grid_pos (float min, float max, std::size_t n, std::size_t i) |
| | Position of sample i on an axis with n samples spanning [min, max].
|
| |
| writer_field_t | ship::detail::make_writer_field (GridSpec const &spec) |
| | Build an empty writer-chain field over spec, ready to be filled via writer_field_t::view_t::at(x, y, z) at grid_pos sample positions.
|
| |