From d74deb998de62648292598b618de49f64ea3b8fe Mon Sep 17 00:00:00 2001 From: Adam Wulkiewicz Date: Thu, 24 Apr 2014 01:55:21 +0200 Subject: [PATCH] [relate] Partially fix Point-sized Linestrings support in relate(L/L). The latest robustness upgrade introduced changes that broke the support: 1. degenerated turns are now method_none+c/c. This is fixed by this commit. 2. ratios aren't calculated for degenerated turns (proviously distances were calculated by AssignPolicy). --- .../boost/geometry/algorithms/detail/relate/linear_linear.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/geometry/algorithms/detail/relate/linear_linear.hpp b/include/boost/geometry/algorithms/detail/relate/linear_linear.hpp index 16501d67f..371481ff0 100644 --- a/include/boost/geometry/algorithms/detail/relate/linear_linear.hpp +++ b/include/boost/geometry/algorithms/detail/relate/linear_linear.hpp @@ -399,7 +399,7 @@ struct linear_linear { // degenerated turn if ( op == overlay::operation_continue - && it->method == overlay::method_collinear + && it->method == overlay::method_none && m_exit_watcher.is_outside(*it) /*&& ( m_exit_watcher.get_exit_operation() == overlay::operation_none || ! turn_on_the_same_ip(m_exit_watcher.get_exit_turn(), *it) )*/ ) @@ -759,7 +759,7 @@ struct linear_linear update(res); } - // 'c' should be last for the same IP so we know that the next point won't be the same + // operation 'c' should be last for the same IP so we know that the next point won't be the same update(res); m_degenerated_turn_ptr = boost::addressof(turn);