mirror of https://github.com/CGAL/cgal
fix
This commit is contained in:
parent
1711b842f6
commit
9d63c10175
|
|
@ -198,7 +198,7 @@ protected:
|
||||||
|
|
||||||
template <class InputIterator>
|
template <class InputIterator>
|
||||||
void process_cells_in_conflict(InputIterator cell_it, InputIterator end) {
|
void process_cells_in_conflict(InputIterator cell_it, InputIterator end) {
|
||||||
auto d = self.tr.dimension()
|
auto d = self.tr.dimension();
|
||||||
for( ; cell_it != end; ++cell_it )
|
for( ; cell_it != end; ++cell_it )
|
||||||
for( int i = 0; i < d; ++i )
|
for( int i = 0; i < d; ++i )
|
||||||
for( int j = i+1; j <= d; ++j ) {
|
for( int j = i+1; j <= d; ++j ) {
|
||||||
|
|
|
||||||
|
|
@ -2332,7 +2332,6 @@ private:
|
||||||
triangulate_cavity(original_intersecting_cells, original_facets_of_upper_cavity, original_vertices_of_upper_cavity);
|
triangulate_cavity(original_intersecting_cells, original_facets_of_upper_cavity, original_vertices_of_upper_cavity);
|
||||||
std::for_each(interior_constrained_faces_upper.begin(), interior_constrained_faces_upper.end(),
|
std::for_each(interior_constrained_faces_upper.begin(), interior_constrained_faces_upper.end(),
|
||||||
register_internal_constrained_facet);
|
register_internal_constrained_facet);
|
||||||
insert_in_conflict_visitor.process_cells_in_conflict(cells_of_upper_cavity.begin(), cells_of_upper_cavity.end());
|
|
||||||
if(this->debug_copy_triangulation_into_hole()) {
|
if(this->debug_copy_triangulation_into_hole()) {
|
||||||
std::cerr << "# lower cavity\n";
|
std::cerr << "# lower cavity\n";
|
||||||
}
|
}
|
||||||
|
|
@ -2342,7 +2341,6 @@ private:
|
||||||
triangulate_cavity(original_intersecting_cells, original_facets_of_lower_cavity, original_vertices_of_lower_cavity);
|
triangulate_cavity(original_intersecting_cells, original_facets_of_lower_cavity, original_vertices_of_lower_cavity);
|
||||||
std::for_each(interior_constrained_faces_lower.begin(), interior_constrained_faces_lower.end(),
|
std::for_each(interior_constrained_faces_lower.begin(), interior_constrained_faces_lower.end(),
|
||||||
register_internal_constrained_facet);
|
register_internal_constrained_facet);
|
||||||
insert_in_conflict_visitor.process_cells_in_conflict(cells_of_lower_cavity.begin(), cells_of_lower_cavity.end());
|
|
||||||
|
|
||||||
// the following transform_reduce is like `std::any_of` but without the fast-exit
|
// the following transform_reduce is like `std::any_of` but without the fast-exit
|
||||||
if(std::transform_reduce(fh_region.begin(), fh_region.end(), false, std::logical_or<bool>{}, [&](auto fh) {
|
if(std::transform_reduce(fh_region.begin(), fh_region.end(), false, std::logical_or<bool>{}, [&](auto fh) {
|
||||||
|
|
@ -2410,6 +2408,9 @@ private:
|
||||||
throw Next_region{"missing facet in polygon", fh_region[0]};
|
throw Next_region{"missing facet in polygon", fh_region[0]};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
insert_in_conflict_visitor.process_cells_in_conflict(cells_of_upper_cavity.begin(), cells_of_upper_cavity.end());
|
||||||
|
insert_in_conflict_visitor.process_cells_in_conflict(cells_of_lower_cavity.begin(), cells_of_lower_cavity.end());
|
||||||
|
|
||||||
if(this->debug_copy_triangulation_into_hole()) {
|
if(this->debug_copy_triangulation_into_hole()) {
|
||||||
std::cerr << "# glu the upper triangulation of the cavity\n";
|
std::cerr << "# glu the upper triangulation of the cavity\n";
|
||||||
if(cells_of_lower_cavity.size() > original_intersecting_cells.size() ||
|
if(cells_of_lower_cavity.size() > original_intersecting_cells.size() ||
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue