diff --git a/include/boost/geometry/index/detail/predicates.hpp b/include/boost/geometry/index/detail/predicates.hpp index 0f82abc27..9b67993f5 100644 --- a/include/boost/geometry/index/detail/predicates.hpp +++ b/include/boost/geometry/index/detail/predicates.hpp @@ -174,9 +174,9 @@ template <> struct spatial_predicate_call { template - static inline bool apply(G1 const& g1, G2 const& g2, S const&) + static inline bool apply(G1 const& g1, G2 const& g2, S const& s) { - return geometry::within(g2, g1); + return geometry::within(g2, g1, s); } }; @@ -184,9 +184,9 @@ template <> struct spatial_predicate_call { template - static inline bool apply(G1 const& g1, G2 const& g2, S const&) + static inline bool apply(G1 const& g1, G2 const& g2, S const& s) { - return geometry::covered_by(g1, g2); + return geometry::covered_by(g1, g2, s); } }; @@ -194,9 +194,9 @@ template <> struct spatial_predicate_call { template - static inline bool apply(G1 const& g1, G2 const& g2, S const&) + static inline bool apply(G1 const& g1, G2 const& g2, S const& s) { - return geometry::covered_by(g2, g1); + return geometry::covered_by(g2, g1, s); } }; @@ -204,41 +204,9 @@ template <> struct spatial_predicate_call { template - static inline bool apply(G1 const& g1, G2 const& g2, S const&) - { - return geometry::disjoint(g1, g2); - } -}; - -// TEMP: used to implement CS-specific intersects predicate for certain -// combinations of geometries until umbrella strategies are implemented -template -< - typename G1, typename G2, - typename Tag1 = tag_t, - typename Tag2 = tag_t -> -struct spatial_predicate_intersects -{ - template - static inline bool apply(G1 const& g1, G2 const& g2, S const&) - { - return geometry::intersects(g1, g2); - } -}; -// TEMP: used in within and relate -template -struct spatial_predicate_intersects -{ - static inline bool apply(G1 const& g1, G2 const& g2, default_strategy const&) - { - return geometry::intersects(g1, g2); - } - - template static inline bool apply(G1 const& g1, G2 const& g2, S const& s) { - return geometry::intersects(g1, g2, s); + return geometry::disjoint(g1, g2, s); } }; @@ -248,7 +216,7 @@ struct spatial_predicate_call template static inline bool apply(G1 const& g1, G2 const& g2, S const& s) { - return spatial_predicate_intersects::apply(g1, g2, s); + return geometry::intersects(g1, g2, s); } }; @@ -256,9 +224,9 @@ template <> struct spatial_predicate_call { template - static inline bool apply(G1 const& g1, G2 const& g2, S const&) + static inline bool apply(G1 const& g1, G2 const& g2, S const& s) { - return geometry::overlaps(g1, g2); + return geometry::overlaps(g1, g2, s); } }; @@ -266,9 +234,9 @@ template <> struct spatial_predicate_call { template - static inline bool apply(G1 const& g1, G2 const& g2, S const&) + static inline bool apply(G1 const& g1, G2 const& g2, S const& s) { - return geometry::touches(g1, g2); + return geometry::touches(g1, g2, s); } }; @@ -276,9 +244,9 @@ template <> struct spatial_predicate_call { template - static inline bool apply(G1 const& g1, G2 const& g2, S const&) + static inline bool apply(G1 const& g1, G2 const& g2, S const& s) { - return geometry::within(g1, g2); + return geometry::within(g1, g2, s); } };