diff options
Diffstat (limited to 'include/mapbox/geometry/envelope.hpp')
-rw-r--r-- | include/mapbox/geometry/envelope.hpp | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/include/mapbox/geometry/envelope.hpp b/include/mapbox/geometry/envelope.hpp deleted file mode 100644 index 8603583..0000000 --- a/include/mapbox/geometry/envelope.hpp +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include <mapbox/geometry/box.hpp> -#include <mapbox/geometry/for_each_point.hpp> - -#include <limits> - -namespace mapbox { -namespace geometry { - -template <typename G, typename T = typename G::coordinate_type> -box<T> envelope(G const& geometry) -{ - using limits = std::numeric_limits<T>; - - T min_t = limits::has_infinity ? -limits::infinity() : limits::min(); - T max_t = limits::has_infinity ? limits::infinity() : limits::max(); - - point<T> min(max_t, max_t); - point<T> max(min_t, min_t); - - for_each_point(geometry, [&] (point<T> const& point) { - if (min.x > point.x) min.x = point.x; - if (min.y > point.y) min.y = point.y; - if (max.x < point.x) max.x = point.x; - if (max.y < point.y) max.y = point.y; - }); - - return box<T>(min, max); -} - -} // namespace geometry -} // namespace mapbox |