From: wolf Date: Mon, 21 Jun 1999 15:12:36 +0000 (+0000) Subject: Check in the fix for one bug, before starting to find the next one. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=71733fecac470cfd1a757a92aaae079921787142;p=dealii-svn.git Check in the fix for one bug, before starting to find the next one. git-svn-id: https://svn.dealii.org/trunk@1424 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/grid/tria.cc b/deal.II/deal.II/source/grid/tria.cc index 0b789af5e7..984b40bedd 100644 --- a/deal.II/deal.II/source/grid/tria.cc +++ b/deal.II/deal.II/source/grid/tria.cc @@ -6362,7 +6362,7 @@ bool Triangulation::prepare_coarsening_and_refinement () { // and maybe already flag additional // cells in this loop for (cell=last_active(); cell != endc; --cell) - if (!cell->refine_flag_set() == true) + if (cell->refine_flag_set() == false) for (unsigned int vertex=0; vertex::vertices_per_cell; ++vertex) if (vertex_level[cell->vertex_index(vertex)] > @@ -6385,7 +6385,26 @@ bool Triangulation::prepare_coarsening_and_refinement () { ++v) vertex_level[cell->vertex_index(v)] = max (vertex_level[cell->vertex_index(v)], - cell->level()+1); + cell->level()+1); + + // now that we fixed this cell, + // we can safely leave this + // inner loop. however, we check + // the remaining vertices before + // leaving. note that since + // we flagged this cell, + // vertex_level might be up to + // three levels higher than this + // cell + for (unsigned int v=vertex+1; v::vertices_per_cell; + ++v) + Assert (vertex_level[cell->vertex_index(v)] + <= + cell->level()+3, + ExcInternalError()); + + // next cell + break; }; };