diff --git a/libs/geom/include/psemek/geom/box.hpp b/libs/geom/include/psemek/geom/box.hpp index 410dd52a..faf6baed 100644 --- a/libs/geom/include/psemek/geom/box.hpp +++ b/libs/geom/include/psemek/geom/box.hpp @@ -65,6 +65,18 @@ namespace psemek::geom return p; } + template + point_type corner(Ts const & ... ts) const + { + static_assert(sizeof...(Ts) == N); + + T w[N] = {ts...}; + point_type res; + for (std::size_t i = 0; i < N; ++i) + res[i] = lerp(axes[i], w[i]); + return res; + } + box & operator += (vector_type const & delta); box & operator -= (vector_type const & delta);