summaryrefslogtreecommitdiff
path: root/boost/geometry/algorithms/detail/relate/point_point.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/geometry/algorithms/detail/relate/point_point.hpp')
-rw-r--r--boost/geometry/algorithms/detail/relate/point_point.hpp39
1 files changed, 21 insertions, 18 deletions
diff --git a/boost/geometry/algorithms/detail/relate/point_point.hpp b/boost/geometry/algorithms/detail/relate/point_point.hpp
index e623868b92..e55be08225 100644
--- a/boost/geometry/algorithms/detail/relate/point_point.hpp
+++ b/boost/geometry/algorithms/detail/relate/point_point.hpp
@@ -17,9 +17,12 @@
#include <algorithm>
#include <vector>
+#include <boost/range/empty.hpp>
+
#include <boost/geometry/algorithms/detail/equals/point_point.hpp>
#include <boost/geometry/algorithms/detail/within/point_in_geometry.hpp>
#include <boost/geometry/algorithms/detail/relate/less.hpp>
+#include <boost/geometry/algorithms/detail/relate/result.hpp>
namespace boost { namespace geometry
{
@@ -38,15 +41,15 @@ struct point_point
bool equal = detail::equals::equals_point_point(point1, point2);
if ( equal )
{
- set<interior, interior, '0'>(result);
+ relate::set<interior, interior, '0'>(result);
}
else
{
- set<interior, exterior, '0'>(result);
- set<exterior, interior, '0'>(result);
+ relate::set<interior, exterior, '0'>(result);
+ relate::set<exterior, interior, '0'>(result);
}
- set<exterior, exterior, result_dimension<Point1>::value>(result);
+ relate::set<exterior, exterior, result_dimension<Point1>::value>(result);
}
};
@@ -89,7 +92,7 @@ struct point_multipoint
if ( boost::empty(multi_point) )
{
// TODO: throw on empty input?
- set<interior, exterior, '0', Transpose>(result);
+ relate::set<interior, exterior, '0', Transpose>(result);
return;
}
@@ -97,20 +100,20 @@ struct point_multipoint
if ( rel.first ) // some point of MP is equal to P
{
- set<interior, interior, '0', Transpose>(result);
+ relate::set<interior, interior, '0', Transpose>(result);
if ( rel.second ) // a point of MP was found outside P
{
- set<exterior, interior, '0', Transpose>(result);
+ relate::set<exterior, interior, '0', Transpose>(result);
}
}
else
{
- set<interior, exterior, '0', Transpose>(result);
- set<exterior, interior, '0', Transpose>(result);
+ relate::set<interior, exterior, '0', Transpose>(result);
+ relate::set<exterior, interior, '0', Transpose>(result);
}
- set<exterior, exterior, result_dimension<Point>::value, Transpose>(result);
+ relate::set<exterior, exterior, result_dimension<Point>::value, Transpose>(result);
}
};
@@ -144,12 +147,12 @@ struct multipoint_multipoint
}
else if ( empty1 )
{
- set<exterior, interior, '0'>(result);
+ relate::set<exterior, interior, '0'>(result);
return;
}
else if ( empty2 )
{
- set<interior, exterior, '0'>(result);
+ relate::set<interior, exterior, '0'>(result);
return;
}
}
@@ -165,7 +168,7 @@ struct multipoint_multipoint
// NlogN + MlogN
bool all_handled = search<false>(multi_point1, multi_point2, result);
- if ( all_handled || result.interrupt )
+ if ( BOOST_GEOMETRY_CONDITION(all_handled || result.interrupt) )
return;
// MlogM + NlogM
@@ -212,23 +215,23 @@ struct multipoint_multipoint
// TODO: if I/I is set for one MPt, this won't be changed when the other one in analysed
// so if e.g. only I/I must be analysed we musn't check the other MPt
- set<interior, interior, '0', Transpose>(result);
+ relate::set<interior, interior, '0', Transpose>(result);
if ( found_outside ) // some point of MP2 was found outside of MP1
{
- set<exterior, interior, '0', Transpose>(result);
+ relate::set<exterior, interior, '0', Transpose>(result);
}
}
else
{
- set<interior, exterior, '0', Transpose>(result);
- set<exterior, interior, '0', Transpose>(result);
+ relate::set<interior, exterior, '0', Transpose>(result);
+ relate::set<exterior, interior, '0', Transpose>(result);
// if no point is intersecting the other MPt then we musn't analyse the reversed case
all_handled = true;
}
- set<exterior, exterior, result_dimension<point_type>::value, Transpose>(result);
+ relate::set<exterior, exterior, result_dimension<point_type>::value, Transpose>(result);
return all_handled;
}