diff options
Diffstat (limited to 'boost/geometry/multi/algorithms/detail/point_on_border.hpp')
-rw-r--r-- | boost/geometry/multi/algorithms/detail/point_on_border.hpp | 77 |
1 files changed, 3 insertions, 74 deletions
diff --git a/boost/geometry/multi/algorithms/detail/point_on_border.hpp b/boost/geometry/multi/algorithms/detail/point_on_border.hpp index ac462ed4c5..2ee789c5da 100644 --- a/boost/geometry/multi/algorithms/detail/point_on_border.hpp +++ b/boost/geometry/multi/algorithms/detail/point_on_border.hpp @@ -4,6 +4,9 @@ // Copyright (c) 2008-2012 Bruno Lalande, Paris, France. // Copyright (c) 2009-2012 Mateusz Loskot, London, UK. +// This file was modified by Oracle on 2013. +// Modifications copyright (c) 2013, Oracle and/or its affiliates. + // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. @@ -14,82 +17,8 @@ #ifndef BOOST_GEOMETRY_MULTI_ALGORITHMS_DETAIL_POINT_ON_BORDER_HPP #define BOOST_GEOMETRY_MULTI_ALGORITHMS_DETAIL_POINT_ON_BORDER_HPP -#include <boost/range.hpp> -#include <boost/geometry/multi/core/tags.hpp> #include <boost/geometry/algorithms/detail/point_on_border.hpp> -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace point_on_border -{ - - -template -< - typename Point, - typename MultiGeometry, - typename Policy -> -struct point_on_multi -{ - static inline bool apply(Point& point, MultiGeometry const& multi, bool midpoint) - { - // Take a point on the first multi-geometry - // (i.e. the first that is not empty) - for (typename boost::range_iterator - < - MultiGeometry const - >::type it = boost::begin(multi); - it != boost::end(multi); - ++it) - { - if (Policy::apply(point, *it, midpoint)) - { - return true; - } - } - return false; - } -}; - - - - -}} // namespace detail::point_on_border -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template<typename Point, typename Multi> -struct point_on_border<multi_polygon_tag, Point, Multi> - : detail::point_on_border::point_on_multi - < - Point, - Multi, - detail::point_on_border::point_on_polygon - < - Point, - typename boost::range_value<Multi>::type - > - > -{}; - - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - - -}} // namespace boost::geometry - #endif // BOOST_GEOMETRY_MULTI_ALGORITHMS_DETAIL_POINT_ON_BORDER_HPP |