From d37cf16eb1de1f83e015df810f7becf1c4a7b495 Mon Sep 17 00:00:00 2001 From: Peter Hachenberger Date: Thu, 21 Dec 2006 16:23:47 +0000 Subject: [PATCH] problems with the combination bounded_kernel and one-dimensional facet cycles fixed --- Nef_2/include/CGAL/Nef_2/PM_overlayer.h | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/Nef_2/include/CGAL/Nef_2/PM_overlayer.h b/Nef_2/include/CGAL/Nef_2/PM_overlayer.h index 7a2d8aef364..a909857ed9c 100644 --- a/Nef_2/include/CGAL/Nef_2/PM_overlayer.h +++ b/Nef_2/include/CGAL/Nef_2/PM_overlayer.h @@ -727,9 +727,15 @@ void create_face_objects(const Below_info& D) const p2 = point(target(e)), p3 = point(target(next(e))); if ( K.left_turn(p1,p2,p3) ) { // left_turn => outer face cycle - CGAL_NEF_TRACEN(" creating new face object"); - Face_handle f = this->new_face(); - link_as_outer_face_cycle(f,e); + CGAL_NEF_TRACEN(" creating new face object"); + Halfedge_around_face_circulator hfc(e),hend(hfc); + CGAL_For_all(hfc,hend) { + if(FaceCycle[twin(hfc)] != j) { + Face_handle f = this->new_face(); + link_as_outer_face_cycle(f,e); + break; + } + } } } @@ -790,9 +796,15 @@ void create_face_objects_pl(const Below_info& D) const p2 = point(target(e)), p3 = point(target(next(e))); if ( K.left_turn(p1,p2,p3) ) { // left_turn => outer face cycle - CGAL_NEF_TRACEN(" creating new face object"); - Face_handle f = this->new_face(); - link_as_outer_face_cycle(f,e); + CGAL_NEF_TRACEN(" creating new face object"); + Halfedge_around_face_circulator hfc(e),hend(hfc); + CGAL_For_all(hfc,hend) { + if(FaceCycle[twin(hfc)] != j) { + Face_handle f = this->new_face(); + link_as_outer_face_cycle(f,e); + break; + } + } } }