From 04eb8519e44ea695e172b74797cf00cfcc05b2ab Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 15 Sep 2003 18:50:07 +0000 Subject: [PATCH] Implement 3d part of subdivided_hyper_rectangle. git-svn-id: https://svn.dealii.org/trunk@7980 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/source/grid/grid_generator.cc | 99 +++++++++++-------- 1 file changed, 59 insertions(+), 40 deletions(-) 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); } } -- 2.39.5