From 1a2ef5c2bcc21f96ded548b52c5fe1133bdab1cb Mon Sep 17 00:00:00 2001 From: Menelaos Karavelas Date: Thu, 8 May 2014 16:39:09 +0300 Subject: [PATCH] [disjoint] add specializations for linestring/multilinestring, multilinestring/multilinestring; fixed specialization for polygon/multilinestring --- .../boost/geometry/algorithms/disjoint.hpp | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/include/boost/geometry/algorithms/disjoint.hpp b/include/boost/geometry/algorithms/disjoint.hpp index ac9de681d..7ee61c602 100644 --- a/include/boost/geometry/algorithms/disjoint.hpp +++ b/include/boost/geometry/algorithms/disjoint.hpp @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -433,13 +434,25 @@ struct disjoint {}; -// move the following specializations to multi/algorithms/disjoint.hpp? - -template -struct disjoint - : public detail::disjoint::disjoint_linear_areal +template +struct disjoint + : public detail::disjoint::disjoint_linear {}; +template +struct disjoint +{ + static inline bool apply(Polygon const& polygon, + MultiLinestring const& multilinestring) + { + return detail::disjoint::disjoint_linear_areal + < + MultiLinestring, + Polygon + >::apply(multilinestring, polygon); + } +}; + template struct disjoint : public detail::disjoint::disjoint_linear_areal @@ -455,6 +468,11 @@ struct disjoint {}; +template +struct disjoint + : public detail::disjoint::disjoint_linear +{}; + template struct disjoint : public detail::disjoint::disjoint_point_linear