diff --git a/libs/geom/include/psemek/geom/box.hpp b/libs/geom/include/psemek/geom/box.hpp index a4189023..e467f444 100644 --- a/libs/geom/include/psemek/geom/box.hpp +++ b/libs/geom/include/psemek/geom/box.hpp @@ -67,6 +67,15 @@ namespace psemek::geom box & operator |= (box const & b); }; + template + box cast(box const & b) + { + box result; + for (std::size_t i = 0; i < N; ++i) + result[i] = cast(b[i]); + return result; + } + template box operator + (box const & b, vector const & delta) { diff --git a/libs/geom/include/psemek/geom/interval.hpp b/libs/geom/include/psemek/geom/interval.hpp index 13dba04a..adf11a98 100644 --- a/libs/geom/include/psemek/geom/interval.hpp +++ b/libs/geom/include/psemek/geom/interval.hpp @@ -115,6 +115,12 @@ namespace psemek::geom interval & operator |= (interval const & i); }; + template + interval cast(interval const & i) + { + return {static_cast(i.min), static_cast(i.max)}; + } + template interval operator + (interval const & i, T const & delta) {