mirror of
https://github.com/boostorg/geometry.git
synced 2026-02-11 11:52:11 +00:00
[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).
This commit is contained in:
@@ -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<op_id>(m_exit_watcher.get_exit_turn(), *it) )*/ )
|
||||
@@ -759,7 +759,7 @@ struct linear_linear
|
||||
update<interior, interior, '0', transpose_result>(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<interior, exterior, '1', transpose_result>(res);
|
||||
|
||||
m_degenerated_turn_ptr = boost::addressof(turn);
|
||||
|
||||
Reference in New Issue
Block a user