diff --git a/libs/geom/include/psemek/geom/box.hpp b/libs/geom/include/psemek/geom/box.hpp index 636d1165..410dd52a 100644 --- a/libs/geom/include/psemek/geom/box.hpp +++ b/libs/geom/include/psemek/geom/box.hpp @@ -230,4 +230,20 @@ namespace psemek::geom return os; } + template + box expand(box b, T const & d) + { + for (std::size_t i = 0; i < N; ++i) + { + b[i] = expand(b[i], d); + } + return b; + } + + template + box shrink(box b, T const & d) + { + return expand(b, -d); + } + } diff --git a/libs/geom/include/psemek/geom/interval.hpp b/libs/geom/include/psemek/geom/interval.hpp index 3bca9521..79f89af3 100644 --- a/libs/geom/include/psemek/geom/interval.hpp +++ b/libs/geom/include/psemek/geom/interval.hpp @@ -245,4 +245,16 @@ namespace psemek::geom return os; } + template + interval expand(interval const & i, T const & d) + { + return {i.min - d, i.max + d}; + } + + template + interval shrink(interval const & i, T const & d) + { + return expand(i, -d); + } + }