diff options
Diffstat (limited to 'src/Util/Sampler.hpp')
| -rw-r--r-- | src/Util/Sampler.hpp | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/src/Util/Sampler.hpp b/src/Util/Sampler.hpp deleted file mode 100644 index 3a4ff4f..0000000 --- a/src/Util/Sampler.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include <functional> -#include "../Math/Vector.hpp" -#include "../Math/Grid.hpp" - -namespace MC::Util { - -template<size_t D, typename T> -class Sampler { - using Pos = Vector<D>; - using Sample = std::function<T(Pos)>; - using Interpolate = std::function<T(Pos, Sample)>; -public: - Sampler( - Sample sample, - Pos offset = {}, - float scale = 1.0f, - Interpolate interpolate = nearest_interpolation - ) : m_sample([=](Sampler::Pos pos) -> T { - return interpolate(pos, [=](Sampler::Pos p) -> T { return sample(p * scale + offset); }); - }) {} - - T sample(Pos at) { - return m_sample(at); - } - - static T nearest_interpolation(Pos pos, Sample sample) { - return sample(pos); - } - -private: - Sample m_sample; -}; - -} \ No newline at end of file |
