diff --git a/include/boost/geometry/algorithms/detail/relate/areal_areal.hpp b/include/boost/geometry/algorithms/detail/relate/areal_areal.hpp index 794c0c54c..8aa1624b0 100644 --- a/include/boost/geometry/algorithms/detail/relate/areal_areal.hpp +++ b/include/boost/geometry/algorithms/detail/relate/areal_areal.hpp @@ -304,17 +304,22 @@ struct areal_areal overlay::operation_type op = turn.operations[Id].operation; + // NOTE: currently E^E is set without any checks before turns are gathered + // the lines commented out are redundant + if ( op == overlay::operation_intersection ) { update(m_result); update(m_result); update(m_result); + update(m_result); } else if ( op == overlay::operation_union ) { - update(m_result); - update(m_result); update(m_result); + update(m_result); + update(m_result); + //update(m_result); } else if ( op == overlay::operation_continue ) { @@ -324,8 +329,6 @@ struct areal_areal else if ( op == overlay::operation_blocked ) { update(m_result); - // NOTE: currently E^E is set without any checks before turns are gathered - // so currently the following line is redundant //update(m_result); } }