]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Make sure level() is not called for lines and quads being part of faces.
authorhartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 30 Jun 2006 12:55:54 +0000 (12:55 +0000)
committerhartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 30 Jun 2006 12:55:54 +0000 (12:55 +0000)
git-svn-id: https://svn.dealii.org/trunk@13320 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/source/dofs/dof_handler.cc
deal.II/deal.II/source/dofs/hp_dof_handler.cc
deal.II/deal.II/source/multigrid/mg_dof_handler.cc

index cee8d45d0d7a2976f066169cb719c27780b287f8..9512d259ef53fe5ebbf26f8e3e31725070b3deb9 100644 (file)
@@ -904,8 +904,10 @@ template <int dim>
 typename DoFHandler<dim>::raw_line_iterator
 DoFHandler<dim>::begin_raw_line (const unsigned int level) const
 {
+  Assert (dim==1 || level == 0,
+         typename Triangulation<dim>::ExcFacesHaveNoLevel());
   return raw_line_iterator (tria,
-                           tria->begin_raw_line(level)->level(),
+                           dim==1 ? tria->begin_raw_line(level)->level() : 0,
                            tria->begin_raw_line(level)->index(),
                            this);
 }
@@ -915,8 +917,10 @@ template <int dim>
 typename DoFHandler<dim>::line_iterator
 DoFHandler<dim>::begin_line (const unsigned int level) const
 {
+  Assert (dim==1 || level == 0,
+         typename Triangulation<dim>::ExcFacesHaveNoLevel());
   return line_iterator (tria,
-                       tria->begin_line(level)->level(),
+                       dim==1 ? tria->begin_line(level)->level() : 0,
                        tria->begin_line(level)->index(),
                        this);
 }
@@ -926,8 +930,10 @@ template <int dim>
 typename DoFHandler<dim>::active_line_iterator
 DoFHandler<dim>::begin_active_line (const unsigned int level) const
 {
+  Assert (dim==1 || level == 0,
+         typename Triangulation<dim>::ExcFacesHaveNoLevel());
   return active_line_iterator (tria,
-                              tria->begin_active_line(level)->level(),
+                              dim==1 ? tria->begin_active_line(level)->level() : 0,
                               tria->begin_active_line(level)->index(),
                               this);
 }
@@ -937,8 +943,10 @@ template <int dim>
 typename DoFHandler<dim>::raw_quad_iterator
 DoFHandler<dim>::begin_raw_quad (const unsigned int level) const
 {
+  Assert (dim==2 || level == 0,
+         typename Triangulation<dim>::ExcFacesHaveNoLevel());  
   return raw_quad_iterator (tria,
-                           tria->begin_raw_quad(level)->level(),
+                           dim==2 ? tria->begin_raw_quad(level)->level() : 0,
                            tria->begin_raw_quad(level)->index(),
                            this);
 }
@@ -948,8 +956,10 @@ template <int dim>
 typename DoFHandler<dim>::quad_iterator
 DoFHandler<dim>::begin_quad (const unsigned int level) const
 {
+  Assert (dim==2 || level == 0,
+         typename Triangulation<dim>::ExcFacesHaveNoLevel());  
   return quad_iterator (tria,
-                       tria->begin_quad(level)->level(),
+                       dim==2 ? tria->begin_quad(level)->level() : 0,
                        tria->begin_quad(level)->index(),
                        this);
 }
@@ -959,8 +969,10 @@ template <int dim>
 typename DoFHandler<dim>::active_quad_iterator
 DoFHandler<dim>::begin_active_quad (const unsigned int level) const
 {
+  Assert (dim==2 || level == 0,
+         typename Triangulation<dim>::ExcFacesHaveNoLevel());  
   return active_quad_iterator (tria,
-                              tria->begin_active_quad(level)->level(),
+                              dim==2 ? tria->begin_active_quad(level)->level() : 0,
                               tria->begin_active_quad(level)->index(),
                               this);
 }
index 6aac25bf7f78fed8ee39f508ad24b47bf5e86a24..07ad1952e8e298201374460fefe7278f80a3c7de 100644 (file)
@@ -901,8 +901,10 @@ namespace hp
   typename DoFHandler<dim>::raw_line_iterator
   DoFHandler<dim>::begin_raw_line (const unsigned int level) const
   {
+    Assert (dim==1 || level == 0,
+           typename Triangulation<dim>::ExcFacesHaveNoLevel());
     return raw_line_iterator (tria,
-                              tria->begin_raw_line(level)->level(),
+                              dim==1 ? tria->begin_raw_line(level)->level() : 0,
                               tria->begin_raw_line(level)->index(),
                               this);
   }
@@ -912,8 +914,10 @@ namespace hp
   typename DoFHandler<dim>::line_iterator
   DoFHandler<dim>::begin_line (const unsigned int level) const
   {
+    Assert (dim==1 || level == 0,
+           typename Triangulation<dim>::ExcFacesHaveNoLevel());
     return line_iterator (tria,
-                          tria->begin_line(level)->level(),
+                          dim==1 ? tria->begin_line(level)->level() : 0,
                           tria->begin_line(level)->index(),
                           this);
   }
@@ -923,8 +927,10 @@ namespace hp
   typename DoFHandler<dim>::active_line_iterator
   DoFHandler<dim>::begin_active_line (const unsigned int level) const
   {
+    Assert (dim==1 || level == 0,
+           typename Triangulation<dim>::ExcFacesHaveNoLevel());
     return active_line_iterator (tria,
-                                 tria->begin_active_line(level)->level(),
+                                 dim==1 ? tria->begin_active_line(level)->level() : 0,
                                  tria->begin_active_line(level)->index(),
                                  this);
   }
@@ -934,8 +940,10 @@ namespace hp
   typename DoFHandler<dim>::raw_quad_iterator
   DoFHandler<dim>::begin_raw_quad (const unsigned int level) const
   {
+    Assert (dim==2 || level == 0,
+           typename Triangulation<dim>::ExcFacesHaveNoLevel());  
     return raw_quad_iterator (tria,
-                              tria->begin_raw_quad(level)->level(),
+                              dim==2 ? tria->begin_raw_quad(level)->level() : 0,
                               tria->begin_raw_quad(level)->index(),
                               this);
   }
@@ -945,8 +953,10 @@ namespace hp
   typename DoFHandler<dim>::quad_iterator
   DoFHandler<dim>::begin_quad (const unsigned int level) const
   {
+    Assert (dim==2 || level == 0,
+           typename Triangulation<dim>::ExcFacesHaveNoLevel());  
     return quad_iterator (tria,
-                          tria->begin_quad(level)->level(),
+                          dim==2 ? tria->begin_quad(level)->level() : 0,
                           tria->begin_quad(level)->index(),
                           this);
   }
@@ -956,8 +966,10 @@ namespace hp
   typename DoFHandler<dim>::active_quad_iterator
   DoFHandler<dim>::begin_active_quad (const unsigned int level) const
   {
+    Assert (dim==2 || level == 0,
+           typename Triangulation<dim>::ExcFacesHaveNoLevel());  
     return active_quad_iterator (tria,
-                                 tria->begin_active_quad(level)->level(),
+                                 dim==2 ? tria->begin_active_quad(level)->level() : 0,
                                  tria->begin_active_quad(level)->index(),
                                  this);
   }
index d538bda48e09d1b10723aed69eaba9db855e7d15..bbd5a8b1c24ed517429408e37f57ae8fa1007899 100644 (file)
@@ -956,8 +956,10 @@ template <int dim>
 typename MGDoFHandler<dim>::raw_line_iterator
 MGDoFHandler<dim>::begin_raw_line (const unsigned int level) const
 {
+  Assert (dim==1 || level == 0,
+         typename Triangulation<dim>::ExcFacesHaveNoLevel());
   return raw_line_iterator (this->tria,
-                           this->tria->begin_raw_line(level)->level(),
+                           dim==1 ? this->tria->begin_raw_line(level)->level() : 0,
                            this->tria->begin_raw_line(level)->index(),
                            this);
 }
@@ -967,8 +969,10 @@ template <int dim>
 typename MGDoFHandler<dim>::line_iterator
 MGDoFHandler<dim>::begin_line (const unsigned int level) const
 {
+  Assert (dim==1 || level == 0,
+         typename Triangulation<dim>::ExcFacesHaveNoLevel());
   return line_iterator (this->tria,
-                       this->tria->begin_line(level)->level(),
+                       dim==1 ? this->tria->begin_line(level)->level() : 0,
                        this->tria->begin_line(level)->index(),
                        this);
 }
@@ -978,8 +982,10 @@ template <int dim>
 typename MGDoFHandler<dim>::active_line_iterator
 MGDoFHandler<dim>::begin_active_line (const unsigned int level) const
 {
+  Assert (dim==1 || level == 0,
+         typename Triangulation<dim>::ExcFacesHaveNoLevel());
   return active_line_iterator (this->tria,
-                              this->tria->begin_active_line(level)->level(),
+                              dim==1 ? this->tria->begin_active_line(level)->level() : 0,
                               this->tria->begin_active_line(level)->index(),
                               this);
 }
@@ -989,8 +995,10 @@ template <int dim>
 typename MGDoFHandler<dim>::raw_quad_iterator
 MGDoFHandler<dim>::begin_raw_quad (const unsigned int level) const
 {
+  Assert (dim==2 || level == 0,
+         typename Triangulation<dim>::ExcFacesHaveNoLevel());  
   return raw_quad_iterator (this->tria,
-                           this->tria->begin_raw_quad(level)->level(),
+                           dim==2 ? this->tria->begin_raw_quad(level)->level() : 0,
                            this->tria->begin_raw_quad(level)->index(),
                            this);
 }
@@ -1000,8 +1008,10 @@ template <int dim>
 typename MGDoFHandler<dim>::quad_iterator
 MGDoFHandler<dim>::begin_quad (const unsigned int level) const
 {
+  Assert (dim==2 || level == 0,
+         typename Triangulation<dim>::ExcFacesHaveNoLevel());  
   return quad_iterator (this->tria,
-                       this->tria->begin_quad(level)->level(),
+                       dim==2 ? this->tria->begin_quad(level)->level() : 0,
                        this->tria->begin_quad(level)->index(),
                        this);
 }
@@ -1011,8 +1021,10 @@ template <int dim>
 typename MGDoFHandler<dim>::active_quad_iterator
 MGDoFHandler<dim>::begin_active_quad (const unsigned int level) const
 {
+  Assert (dim==2 || level == 0,
+         typename Triangulation<dim>::ExcFacesHaveNoLevel());  
   return active_quad_iterator (this->tria,
-                              this->tria->begin_active_quad(level)->level(),
+                              dim==2 ? this->tria->begin_active_quad(level)->level() : 0,
                               this->tria->begin_active_quad(level)->index(),
                               this);
 }

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.