diff --git a/AABB_tree/include/CGAL/internal/AABB_tree/AABB_node.h b/AABB_tree/include/CGAL/internal/AABB_tree/AABB_node.h index d4868b80157..94eacd277d7 100644 --- a/AABB_tree/include/CGAL/internal/AABB_tree/AABB_node.h +++ b/AABB_tree/include/CGAL/internal/AABB_tree/AABB_node.h @@ -206,8 +206,6 @@ AABB_node::traversal(const Query& query, } } - - template template void @@ -238,34 +236,27 @@ AABB_node::traversal_with_priority(const Query& query, std::tie(ileft,pleft) = traits.do_intersect_with_priority(query, left_child()); std::tie(iright,pright) = traits.do_intersect_with_priority(query, right_child()); - if(pleft >= pright) + if (ileft) { - if( ileft ) + if (iright) + { + if(pleft >= pright) { left_child().traversal_with_priority(query, traits, nb_primitives/2); - if( traits.go_further() && traits.do_intersect(query, right_child()) ) - { - right_child().traversal_with_priority(query, traits, nb_primitives-nb_primitives/2); - } + if( traits.go_further() /* && traits.do_intersect(query, right_child()) */ ) // TODO shall we call again do_intersect? + right_child().traversal_with_priority(query, traits, nb_primitives-nb_primitives/2); } - else if( iright ) - { - right_child().traversal_with_priority(query, traits, nb_primitives-nb_primitives/2); - } - }else{ - if( iright ) + else { right_child().traversal_with_priority(query, traits, nb_primitives/2); - if( traits.go_further() && traits.do_intersect(query, left_child()) ) - { - left_child().traversal_with_priority(query, traits, nb_primitives-nb_primitives/2); - } - } - else if( ileft ) - { - left_child().traversal_with_priority(query, traits, nb_primitives-nb_primitives/2); + if( traits.go_further() /* && traits.do_intersect(query, left_child()) */ ) // TODO shall we call again do_intersect? + left_child().traversal_with_priority(query, traits, nb_primitives-nb_primitives/2); } + } } + else + if (iright) + right_child().traversal_with_priority(query, traits, nb_primitives-nb_primitives/2); } }