From 0ab8ef78044c5dc647279654de0e596376246acb Mon Sep 17 00:00:00 2001 From: Clement Jamin Date: Thu, 4 Sep 2014 17:05:18 +0200 Subject: [PATCH] Do not insert hidden points Hidden points are not handled for now (cherry picked from commit dfb38ed1af52d9faaa113bf26435e7ac65711080) --- Triangulation/include/CGAL/Regular_triangulation.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Triangulation/include/CGAL/Regular_triangulation.h b/Triangulation/include/CGAL/Regular_triangulation.h index 7700abd3ffb..0e5b9cd6f26 100644 --- a/Triangulation/include/CGAL/Regular_triangulation.h +++ b/Triangulation/include/CGAL/Regular_triangulation.h @@ -807,7 +807,11 @@ Regular_triangulation // cs.reserve(64); std::back_insert_iterator out(cs); Facet ft = compute_conflict_zone(p, s, out); - return insert_in_hole(p, cs.begin(), cs.end(), ft); + // The conflict zone is empty if the point is hidden + if (!cs.empty()) + return insert_in_hole(p, cs.begin(), cs.end(), ft); + else + return Vertex_handle(); } template< typename RTTraits, typename TDS > @@ -982,7 +986,12 @@ Regular_triangulation Power_test_d side = geom_traits().power_test_d_object(); Conflict_pred_in_fullspace c(*this, p, ori, side); Conflict_traversal_pred_in_fullspace tp(*this, c); - return tds().gather_full_cells(s, tp, out); + // If p is not in conflict with s, then p is hidden + // => we don't insert it (CJTODO: handle hidden points) + if (!c(s)) + return Facet(); + else + return tds().gather_full_cells(s, tp, out); } }