]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Use the new function Triangulation::get_tria().
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Thu, 10 Dec 2015 12:49:12 +0000 (06:49 -0600)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Thu, 10 Dec 2015 12:49:12 +0000 (06:49 -0600)
source/grid/grid_generator.cc
source/grid/grid_tools.cc
source/grid/intergrid_map.cc

index 5dacc7aed3a682c599086cb0e93d85959c48a923..3cdf44852aa33618b267207cac724be7719e2e7f 100644 (file)
@@ -4129,71 +4129,6 @@ namespace GridGenerator
 
 
 
-  // This anonymous namespace contains utility functions to extract the
-  // triangulation from any container such as DoFHandler
-  // and the like
-  namespace
-  {
-    template<int dim, int spacedim>
-    const Triangulation<dim, spacedim> &
-    get_tria(const Triangulation<dim, spacedim> &tria)
-    {
-      return tria;
-    }
-
-    template<int dim, int spacedim>
-    const Triangulation<dim, spacedim> &
-    get_tria(const parallel::distributed::Triangulation<dim, spacedim> &tria)
-    {
-      return tria;
-    }
-
-    template<int dim, int spacedim>
-    const Triangulation<dim, spacedim> &
-    get_tria(const parallel::shared::Triangulation<dim, spacedim> &tria)
-    {
-      return tria;
-    }
-
-    template<int dim, template<int, int> class Container, int spacedim>
-    const Triangulation<dim,spacedim> &
-    get_tria(const Container<dim,spacedim> &container)
-    {
-      return container.get_tria();
-    }
-
-
-    template<int dim, int spacedim>
-    Triangulation<dim, spacedim> &
-    get_tria(Triangulation<dim, spacedim> &tria)
-    {
-      return tria;
-    }
-
-    template<int dim, int spacedim>
-    Triangulation<dim, spacedim> &
-    get_tria(parallel::distributed::Triangulation<dim, spacedim> &tria)
-    {
-      return tria;
-    }
-
-    template<int dim, int spacedim>
-    Triangulation<dim, spacedim> &
-    get_tria(parallel::shared::Triangulation<dim, spacedim> &tria)
-    {
-      return tria;
-    }
-
-    template<int dim, template<int, int> class Container, int spacedim>
-    const Triangulation<dim,spacedim> &
-    get_tria(Container<dim,spacedim> &container)
-    {
-      return container.get_tria();
-    }
-  }
-
-
-
   template <template <int,int> class Container, int dim, int spacedim>
 #ifndef _MSC_VER
   std::map<typename Container<dim-1,spacedim>::cell_iterator,
@@ -4222,7 +4157,7 @@ namespace GridGenerator
     mapping;  // temporary map for level==0
 
 
-    std::vector< bool > touched (get_tria(volume_mesh).n_vertices(), false);
+    std::vector< bool > touched (volume_mesh.get_tria().n_vertices(), false);
     std::vector< CellData< boundary_dim > > cells;
     SubCellData                             subcell_data;
     std::vector< Point<spacedim> >          vertices;
@@ -4332,7 +4267,7 @@ namespace GridGenerator
 
     // create level 0 surface triangulation
     Assert (cells.size() > 0, ExcMessage ("No boundary faces selected"));
-    const_cast<Triangulation<dim-1,spacedim>&>(get_tria(surface_mesh))
+    const_cast<Triangulation<dim-1,spacedim>&>(surface_mesh.get_tria())
     .create_triangulation (vertices, cells, subcell_data);
 
     // Make the actual mapping
@@ -4355,7 +4290,7 @@ namespace GridGenerator
 
         if (changed)
           {
-            const_cast<Triangulation<dim-1,spacedim>&>(get_tria(surface_mesh))
+            const_cast<Triangulation<dim-1,spacedim>&>(surface_mesh.get_tria())
             .execute_coarsening_and_refinement();
 
             for (typename Container<dim-1,spacedim>::cell_iterator
index 52006fb358e43754ace2cf669b7f3be97028b0ed..05f77090b292ea80bbc6b506af17c47cf347f214 100644 (file)
@@ -61,72 +61,6 @@ DEAL_II_NAMESPACE_OPEN
 namespace GridTools
 {
 
-  // This anonymous namespace contains utility functions to extract the
-  // triangulation from any container such as DoFHandler and the like
-  namespace
-  {
-    template<int dim, int spacedim>
-    const Triangulation<dim, spacedim> &
-    get_tria(const Triangulation<dim, spacedim> &tria)
-    {
-      return tria;
-    }
-
-    template<int dim, int spacedim>
-    const Triangulation<dim, spacedim> &
-    get_tria(const parallel::distributed::Triangulation<dim, spacedim> &tria)
-    {
-      return tria;
-    }
-
-    template<int dim, int spacedim>
-    const Triangulation<dim, spacedim> &
-    get_tria(const parallel::shared::Triangulation<dim, spacedim> &tria)
-    {
-      return tria;
-    }
-
-
-    template<int dim, template<int, int> class Container, int spacedim>
-    const Triangulation<dim,spacedim> &
-    get_tria(const Container<dim,spacedim> &container)
-    {
-      return container.get_tria();
-    }
-
-
-    template<int dim, int spacedim>
-    Triangulation<dim, spacedim> &
-    get_tria(Triangulation<dim, spacedim> &tria)
-    {
-      return tria;
-    }
-
-    template<int dim, int spacedim>
-    Triangulation<dim, spacedim> &
-    get_tria(parallel::distributed::Triangulation<dim, spacedim> &tria)
-    {
-      return tria;
-    }
-
-    template<int dim, int spacedim>
-    Triangulation<dim, spacedim> &
-    get_tria(parallel::shared::Triangulation<dim, spacedim> &tria)
-    {
-      return tria;
-    }
-
-
-    template<int dim, template<int, int> class Container, int spacedim>
-    const Triangulation<dim,spacedim> &
-    get_tria(Container<dim,spacedim> &container)
-    {
-      return container.get_tria();
-    }
-  }
-
-
-
   template <int dim, int spacedim>
   double
   diameter (const Triangulation<dim, spacedim> &tria)
@@ -1030,7 +964,7 @@ namespace GridTools
     // triangulation from the
     // container and determine vertices
     // and used vertices
-    const Triangulation<dim, spacedim> &tria = get_tria(container);
+    const Triangulation<dim, spacedim> &tria = container.get_tria();
 
     const std::vector< Point<spacedim> > &vertices = tria.get_vertices();
     const std::vector< bool       > &used     = tria.get_used_vertices();
@@ -1076,9 +1010,9 @@ namespace GridTools
     // make sure that the given vertex is
     // an active vertex of the underlying
     // triangulation
-    Assert(vertex < get_tria(container).n_vertices(),
-           ExcIndexRange(0,get_tria(container).n_vertices(),vertex));
-    Assert(get_tria(container).get_used_vertices()[vertex],
+    Assert(vertex < container.get_tria().n_vertices(),
+           ExcIndexRange(0,container.get_tria().n_vertices(),vertex));
+    Assert(container.get_tria().get_used_vertices()[vertex],
            ExcVertexNotUsed(vertex));
 
     // use a set instead of a vector
@@ -1318,7 +1252,7 @@ next_cell:
     // the cell and have not searched
     // every cell in the triangulation,
     // we keep on looking.
-    const unsigned int n_active_cells = get_tria(container).n_active_cells();
+    const unsigned int n_active_cells = container.get_tria().n_active_cells();
     bool found = false;
     unsigned int cells_searched = 0;
     while (!found && cells_searched < n_active_cells)
@@ -1446,7 +1380,7 @@ next_cell:
         // the cell and have not searched
         // every cell in the triangulation,
         // we keep on looking.
-        const unsigned int n_cells =get_tria(container).n_cells();
+        const unsigned int n_cells = container.get_tria().n_cells();
         bool found = false;
         unsigned int cells_searched = 0;
         while (!found && cells_searched < n_cells)
@@ -1555,7 +1489,7 @@ next_cell:
                                   const std_cxx11::function<bool (const typename Container::active_cell_iterator &)> &predicate)
   {
     std::vector<typename Container::active_cell_iterator> active_halo_layer;
-    std::vector<bool> locally_active_vertices_on_subdomain (get_tria(container).n_vertices(),
+    std::vector<bool> locally_active_vertices_on_subdomain (container.get_tria().n_vertices(),
                                                             false);
 
     // Find the cells for which the predicate is true
@@ -2291,8 +2225,8 @@ next_cell:
   have_same_coarse_mesh (const Container &mesh_1,
                          const Container &mesh_2)
   {
-    return have_same_coarse_mesh (get_tria(mesh_1),
-                                  get_tria(mesh_2));
+    return have_same_coarse_mesh (mesh_1.get_tria(),
+                                  mesh_2.get_tria());
   }
 
 
index d85bfab590210ca36a1855f431a91c00924681d2..6441f8302f266cafc9db22d033408c71daed724a 100644 (file)
 DEAL_II_NAMESPACE_OPEN
 
 
-namespace
-{
-// helper function to acquire the number of levels within a grid
-  template <class GridClass>
-  unsigned int
-  get_n_levels (const GridClass &grid)
-  {
-    // all objects we deal with are able
-    // to deliver a pointer to the
-    // underlying triangulation.
-    //
-    // for the triangulation as GridClass
-    // of this object, there is a
-    // specialization of this function
-    return grid.get_tria().n_levels();
-  }
-
-
-// specialization for triangulation classes
-  template <int dim, int spacedim>
-  unsigned int
-  get_n_levels (const Triangulation<dim, spacedim> &grid)
-  {
-    // if GridClass==Triangulation, then
-    // we can ask directly.
-    return grid.n_levels();
-  }
-
-  template <int dim, int spacedim>
-  unsigned int
-  get_n_levels (const parallel::distributed::Triangulation<dim, spacedim> &grid)
-  {
-    // if GridClass==Triangulation, then
-    // we can ask directly.
-    return grid.n_levels();
-  }
-
-  template <int dim, int spacedim>
-  unsigned int
-  get_n_levels (const parallel::shared::Triangulation<dim, spacedim> &grid)
-  {
-    // if GridClass==Triangulation, then
-    // we can ask directly.
-    return grid.n_levels();
-  }
-}
-
-
 template <class GridClass>
 InterGridMap<GridClass>::InterGridMap ()
   :
@@ -100,7 +52,7 @@ void InterGridMap<GridClass>::make_mapping (const GridClass &source_grid,
 
   // then set up the containers from
   // scratch and fill them with end-iterators
-  const unsigned int n_levels = get_n_levels(source_grid);
+  const unsigned int n_levels = source_grid.get_tria().n_levels();
   mapping.resize (n_levels);
   for (unsigned int level=0; level<n_levels; ++level)
     {

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.