diff --git a/region.cpp b/region.cpp index 5ecae38c..362fc05c 100644 --- a/region.cpp +++ b/region.cpp @@ -85,13 +85,25 @@ util::region::diameter (void) const //----------------------------------------------------------------------------- template -util::extent::size_type> +typename util::region::extent_t util::region::magnitude (void) const { return { w, h }; } +//----------------------------------------------------------------------------- +template +typename util::region::extent_t +util::region::magnitude (extent_t e) +{ + w = e.w; + h = e.h; + + return magnitude (); +} + + //----------------------------------------------------------------------------- template void diff --git a/region.hpp b/region.hpp index 3815d796..a7d37933 100644 --- a/region.hpp +++ b/region.hpp @@ -39,6 +39,9 @@ namespace util { static constexpr size_t elements = dimension * 2; using value_type = T; + using extent_t = util::extent; + using point_t = util::point<2,T>; + position_type x, y; size_type w, h; @@ -50,7 +53,8 @@ namespace util { size_type area (void) const; size_type diameter (void) const; - util::extent magnitude (void) const; + extent_t magnitude (void) const; + extent_t magnitude (extent_t); void scale (T factor);