Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:35:03

0001 // Boost.Geometry (aka GGL, Generic Geometry Library)
0002 
0003 // Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands.
0004 // Copyright (c) 2008-2015 Bruno Lalande, Paris, France.
0005 // Copyright (c) 2009-2015 Mateusz Loskot, London, UK.
0006 // Copyright (c) 2013-2015 Adam Wulkiewicz, Lodz, Poland.
0007 
0008 // This file was modified by Oracle on 2013-2022.
0009 // Modifications copyright (c) 2013-2022, Oracle and/or its affiliates.
0010 
0011 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
0012 // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
0013 
0014 // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
0015 // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.
0016 
0017 // Use, modification and distribution is subject to the Boost Software License,
0018 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
0019 // http://www.boost.org/LICENSE_1_0.txt)
0020 
0021 #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_POINT_GEOMETRY_HPP
0022 #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_POINT_GEOMETRY_HPP
0023 
0024 #include <boost/geometry/algorithms/detail/covered_by/implementation.hpp>
0025 
0026 #include <boost/geometry/algorithms/detail/disjoint/linear_linear.hpp>
0027 
0028 #include <boost/geometry/algorithms/dispatch/disjoint.hpp>
0029 
0030 
0031 namespace boost { namespace geometry
0032 {
0033 
0034 
0035 #ifndef DOXYGEN_NO_DETAIL
0036 namespace detail { namespace disjoint
0037 {
0038 
0039 
0040 struct reverse_covered_by
0041 {
0042     template <typename Geometry1, typename Geometry2, typename Strategy>
0043     static inline bool apply(Geometry1 const& geometry1,
0044                              Geometry2 const& geometry2,
0045                              Strategy const& strategy)
0046     {
0047         return ! geometry::covered_by(geometry1, geometry2, strategy);
0048     }
0049 };
0050 
0051 
0052 }} // namespace detail::disjoint
0053 #endif // DOXYGEN_NO_DETAIL
0054 
0055 
0056 
0057 
0058 #ifndef DOXYGEN_NO_DISPATCH
0059 namespace dispatch
0060 {
0061 
0062 
0063 template<typename Point, typename Linear, std::size_t DimensionCount>
0064 struct disjoint<Point, Linear, DimensionCount, point_tag, linear_tag, false>
0065     : detail::disjoint::reverse_covered_by
0066 {};
0067 
0068 
0069 template <typename Point, typename Areal, std::size_t DimensionCount>
0070 struct disjoint<Point, Areal, DimensionCount, point_tag, areal_tag, false>
0071     : detail::disjoint::reverse_covered_by
0072 {};
0073 
0074 
0075 template<typename Point, typename Segment, std::size_t DimensionCount>
0076 struct disjoint<Point, Segment, DimensionCount, point_tag, segment_tag, false>
0077     : detail::disjoint::reverse_covered_by
0078 {};
0079 
0080 
0081 } // namespace dispatch
0082 #endif // DOXYGEN_NO_DISPATCH
0083 
0084 
0085 }} // namespace boost::geometry
0086 
0087 
0088 
0089 #endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISJOINT_POINT_GEOMETRY_HPP