1 // Boost.Geometry (aka GGL, Generic Geometry Library) 2 3 // Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. 4 // Copyright (c) 2008-2015 Bruno Lalande, Paris, France. 5 // Copyright (c) 2009-2015 Mateusz Loskot, London, UK. 6 // Copyright (c) 2014-2015 Samuel Debionne, Grenoble, France. 7 8 // This file was modified by Oracle on 2015, 2016, 2017, 2018. 9 // Modifications copyright (c) 2015-2018, Oracle and/or its affiliates. 10 11 // Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle 12 // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle 13 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle 14 15 // Distributed under the Boost Software License, Version 1.0. 16 // (See accompanying file LICENSE_1_0.txt or copy at 17 // http://www.boost.org/LICENSE_1_0.txt) 18 19 #ifndef BOOST_GEOMETRY_STRATEGIES_CARTESIAN_EXPAND_SEGMENT_HPP 20 #define BOOST_GEOMETRY_STRATEGIES_CARTESIAN_EXPAND_SEGMENT_HPP 21 22 23 #include <boost/geometry/core/tags.hpp> 24 25 #include <boost/geometry/algorithms/detail/expand/indexed.hpp> 26 27 #include <boost/geometry/strategies/expand.hpp> 28 29 30 namespace boost { namespace geometry 31 { 32 33 namespace strategy { namespace expand 34 { 35 36 class cartesian_segment 37 { 38 public: 39 template <typename Box, typename Segment> apply(Box & box,Segment const & segment)40 static void apply(Box & box, Segment const& segment) 41 { 42 geometry::detail::expand::expand_indexed 43 < 44 0, dimension<Segment>::value 45 >::apply(box, segment); 46 } 47 }; 48 49 50 #ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS 51 52 namespace services 53 { 54 55 template <typename CalculationType> 56 struct default_strategy<segment_tag, cartesian_tag, CalculationType> 57 { 58 typedef cartesian_segment type; 59 }; 60 61 62 } // namespace services 63 64 #endif // DOXYGEN_NO_STRATEGY_SPECIALIZATIONS 65 66 67 }} // namespace strategy::expand 68 69 }} // namespace boost::geometry 70 71 #endif // BOOST_GEOMETRY_STRATEGIES_CARTESIAN_EXPAND_SEGMENT_HPP 72