1 // Boost.Geometry (aka GGL, Generic Geometry Library) 2 3 // Copyright (c) 2018, Oracle and/or its affiliates. 4 5 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle 6 7 // Distributed under the Boost Software License, Version 1.0. 8 // (See accompanying file LICENSE_1_0.txt or copy at 9 // http://www.boost.org/LICENSE_1_0.txt) 10 11 #ifndef BOOST_GEOMETRY_STRATEGIES_CARTESIAN_ENVELOPE_MULTIPOINT_HPP 12 #define BOOST_GEOMETRY_STRATEGIES_CARTESIAN_ENVELOPE_MULTIPOINT_HPP 13 14 #include <boost/geometry/core/tags.hpp> 15 16 #include <boost/geometry/algorithms/detail/envelope/range.hpp> 17 18 #include <boost/geometry/strategies/cartesian/envelope.hpp> 19 20 21 namespace boost { namespace geometry 22 { 23 24 namespace strategy { namespace envelope 25 { 26 27 class cartesian_multipoint 28 { 29 public: 30 template <typename MultiPoint, typename Box> apply(MultiPoint const & multipoint,Box & mbr)31 static inline void apply(MultiPoint const& multipoint, Box& mbr) 32 { 33 geometry::detail::envelope::envelope_range::apply(multipoint, mbr, cartesian<>()); 34 } 35 }; 36 37 38 #ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS 39 40 namespace services 41 { 42 43 template <typename CalculationType> 44 struct default_strategy<multi_point_tag, cartesian_tag, CalculationType> 45 { 46 typedef strategy::envelope::cartesian_multipoint type; 47 }; 48 49 50 } // namespace services 51 52 #endif // DOXYGEN_NO_STRATEGY_SPECIALIZATIONS 53 54 55 }} // namespace strategy::envelope 56 57 }} // namespace boost::geometry 58 59 #endif // BOOST_GEOMETRY_STRATEGIES_CARTESIAN_ENVELOPE_MULTIPOINT_HPP 60