summaryrefslogtreecommitdiff
path: root/libs/geometry/test/algorithms/overlay/robustness/test_overlay_p_q.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/geometry/test/algorithms/overlay/robustness/test_overlay_p_q.hpp')
-rw-r--r--libs/geometry/test/algorithms/overlay/robustness/test_overlay_p_q.hpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/geometry/test/algorithms/overlay/robustness/test_overlay_p_q.hpp b/libs/geometry/test/algorithms/overlay/robustness/test_overlay_p_q.hpp
index 23f5c3a2c7..85729b1657 100644
--- a/libs/geometry/test/algorithms/overlay/robustness/test_overlay_p_q.hpp
+++ b/libs/geometry/test/algorithms/overlay/robustness/test_overlay_p_q.hpp
@@ -31,6 +31,8 @@
#include <boost/geometry/extensions/io/svg/svg_mapper.hpp>
#include <boost/geometry/algorithms/detail/overlay/debug_turn_info.hpp>
+#include <boost/geometry/algorithms/intersects.hpp>
+#include <boost/geometry/algorithms/touches.hpp>
struct p_q_settings
{
@@ -103,6 +105,19 @@ static bool test_overlay_p_q(std::string const& caseid,
}
}
+ if (true)
+ {
+ if ((area_i > 0 && bg::touches(p, q))
+ || (area_i <= 0 && bg::intersects(p, q) && ! bg::touches(p, q)))
+ {
+ std::cout << "Wrong 'touch'! "
+ << " Intersection area: " << area_i
+ << " Touch gives: " << std::boolalpha << bg::touches(p, q)
+ << std::endl;
+ wrong = true;
+ }
+ }
+
bool svg = settings.svg;
if (wrong || settings.wkt)