diff --git a/Triangulation_3/include/CGAL/Constrained_Delaunay_triangulation_3.h b/Triangulation_3/include/CGAL/Constrained_Delaunay_triangulation_3.h index d7a17db7f13..bbb805c54a9 100644 --- a/Triangulation_3/include/CGAL/Constrained_Delaunay_triangulation_3.h +++ b/Triangulation_3/include/CGAL/Constrained_Delaunay_triangulation_3.h @@ -1956,16 +1956,22 @@ public: switch(this->dimension()) { case 3: { for(auto it = this->finite_cells_begin(), end = this->finite_cells_end(); it != end; ++it) { - this->is_valid_finite(it); + this->is_valid_finite(it, verbose, level); for(int i = 0; i < 4; i++) { const auto n = it->neighbor(i); const auto n_index = n->index(it); if(!this->is_infinite(n->vertex(n_index))) { if(!it->is_facet_constrained(i) && this->side_of_sphere(it, n->vertex(n_index)->point()) == ON_BOUNDED_SIDE) { - if(verbose) - std::cerr << "non-empty sphere " << std::endl; - + if(verbose) { + std::cerr << "non-empty sphere at non-constrainted facet (" << IO::oformat(Cell_handle(it)) + << ", " << i << ") the cell is:\n " + << IO::oformat(it->vertex(0), with_point) << "\n " + << IO::oformat(it->vertex(1), with_point) << "\n " + << IO::oformat(it->vertex(2), with_point) << "\n " + << IO::oformat(it->vertex(3), with_point) << "\ncontains:\n " + << IO::oformat(n->vertex(n_index), with_point_and_info) << '\n'; + } CGAL_assertion(false); return false; } @@ -1977,7 +1983,7 @@ public: case 2: { for(auto it = this->finite_facets_begin(), end = this->finite_facets_end(); it != end; ++it) { const auto c = it->first; - this->is_valid_finite(c); + this->is_valid_finite(c, verbose, level); for(int i = 0; i < 3; i++) { const auto n = c->neighbor(i); const auto n_index = n->index(c); @@ -1996,7 +2002,7 @@ public: } case 1: { for(auto it = this->finite_edges_begin(), end = this->finite_edges_end(); it != end; ++it) { - this->is_valid_finite((*it).first); + this->is_valid_finite((*it).first, verbose, level); } break; }