diff --git a/region.cpp b/region.cpp index a39d49d9..164ddf14 100644 --- a/region.cpp +++ b/region.cpp @@ -252,6 +252,15 @@ util::region::intersection (region rhs) const //----------------------------------------------------------------------------- template +bool +util::region::encloses (const region r) const noexcept +{ + return all (p <= r.p) && all (p + e >= r.p + r.e); +} + + +/////////////////////////////////////////////////////////////////////////////// +template util::region util::region::inset (T mag) const { diff --git a/region.hpp b/region.hpp index 379eefcc..e052bc4b 100644 --- a/region.hpp +++ b/region.hpp @@ -83,6 +83,9 @@ namespace util { // Compute binary region combinations region intersection (region) const; + // Test if a region lies completely within our space + bool encloses (region) const noexcept; + //--------------------------------------------------------------------- // Compute a region `mag` units into the region region inset (T mag) const;