From: wolf Date: Mon, 15 Sep 2003 18:50:07 +0000 (+0000) Subject: Implement 3d part of subdivided_hyper_rectangle. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=84d1196ac0597f2076b30b66db2023ca68514958;p=dealii-svn.git Implement 3d part of subdivided_hyper_rectangle. git-svn-id: https://svn.dealii.org/trunk@7980 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/grid/grid_generator.cc b/deal.II/deal.II/source/grid/grid_generator.cc index 24a5dc0102..a7abb7b069 100644 --- a/deal.II/deal.II/source/grid/grid_generator.cc +++ b/deal.II/deal.II/source/grid/grid_generator.cc @@ -246,11 +246,12 @@ GridGenerator::subdivided_hyper_cube (Triangulation &tria, template void -GridGenerator::subdivided_hyper_rectangle (Triangulation &tria, - const std::vector &repetitions, - const Point &p_1, - const Point &p_2, - const bool colorize) +GridGenerator:: +subdivided_hyper_rectangle (Triangulation &tria, + const std::vector &repetitions, + const Point &p_1, + const Point &p_2, + const bool colorize) { // contributed by Joerg R. Weimar // (j.weimar@jweimar.de) 2003 @@ -315,38 +316,60 @@ GridGenerator::subdivided_hyper_rectangle (Triangulation &tria switch (dim) { case 1: - cells.resize (repetitions[0]); + { + cells.resize (repetitions[0]); + for (unsigned int x=0; x &tria // use a large epsilon to // compare numbers to avoid // roundoff problems. - double epsilon = 0.01*delta[0]; - if (dim > 1) - epsilon = std::min(epsilon,0.01*delta[1]); - - if (dim > 2) - epsilon = std::min(epsilon,0.01*delta[2]); + const double epsilon + = 0.01 * *std::min_element (&delta[0], &delta[dim]); // actual code is external since // 1-D is different from 2/3D. - colorize_subdivided_hyper_rectangle (tria,p1,p2,epsilon); + colorize_subdivided_hyper_rectangle (tria, p1, p2, epsilon); } }