From 90165b9b59f02d17bf7d03160ff402c8527aad24 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sat, 3 Oct 2020 13:06:17 +0300 Subject: [PATCH] Support calling pcg generators with sequence of coordinates (as opposed to geom::vector) --- libs/pcg/include/psemek/pcg/fractal.hpp | 6 ++++++ libs/pcg/include/psemek/pcg/perlin.hpp | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/libs/pcg/include/psemek/pcg/fractal.hpp b/libs/pcg/include/psemek/pcg/fractal.hpp index 31d5113f..3d478edf 100644 --- a/libs/pcg/include/psemek/pcg/fractal.hpp +++ b/libs/pcg/include/psemek/pcg/fractal.hpp @@ -17,6 +17,12 @@ namespace psemek::pcg template fractal(std::vector args, std::vector weights); + template + value_type operator ()(Args const & ... args) const + { + return (*this)(geom::vector{args...}); + } + value_type operator()(geom::vector const & p) const; private: diff --git a/libs/pcg/include/psemek/pcg/perlin.hpp b/libs/pcg/include/psemek/pcg/perlin.hpp index 96b3fc09..380969cc 100644 --- a/libs/pcg/include/psemek/pcg/perlin.hpp +++ b/libs/pcg/include/psemek/pcg/perlin.hpp @@ -37,6 +37,13 @@ namespace psemek::pcg return grad_map_.depth() - 1; } + // Coords \in [0.0 .. 1.0] + template + T operator()(Args const & ... args) const + { + return (*this)(geom::vector{args...}); + } + // Coords \in [0.0 .. 1.0] T operator()(geom::vector p) const;