]> https://gitweb.dealii.org/ - dealii.git/commitdiff
One more safety test.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Thu, 2 Apr 1998 16:02:25 +0000 (16:02 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Thu, 2 Apr 1998 16:02:25 +0000 (16:02 +0000)
git-svn-id: https://svn.dealii.org/trunk@125 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/grid/tria.h
deal.II/deal.II/source/grid/tria.cc

index 97e3e131038206025e7175e43e5ff24cb01b7820..22de51384a49e187b2cc03c06c84a1465254b553 100644 (file)
@@ -1880,6 +1880,13 @@ class Triangulation : public TriaDimensionInfo<dim> {
                                      * Exception
                                      */
     DeclException0 (ExcInternalError);
+                                    /**
+                                     * Exception
+                                     */
+    DeclException1 (ExcEmptyLevel,
+                   int,
+                   << "You tried to do something on level " << arg1
+                   << ", but this level is empty.");
                                     //@}
   protected:
                                     /**
index 613077495777061132f46eb97564747d2faa7c74..49c87f7449941be72495b66f35d3bb866a4675b1 100644 (file)
@@ -1116,10 +1116,8 @@ typename TriaDimensionInfo<dim>::raw_line_iterator
 Triangulation<dim>::begin_raw_line (unsigned int level) const {
   Assert (level<levels.size(),
          ExcInvalidLevel(level));
-
-                                  // does this level have cells?
-  if (levels[level]->lines.lines.size() == 0)
-    return end_line();
+  Assert (levels[level]->lines.lines.size() != 0,
+         ExcEmptyLevel (level));
   
   return raw_line_iterator ((Triangulation<dim>*)this,
                            level,
@@ -1142,10 +1140,8 @@ typename TriaDimensionInfo<dim>::raw_quad_iterator
 Triangulation<dim>::begin_raw_quad (unsigned int level) const {
   Assert (level<levels.size(),
          ExcInvalidLevel(level));
-  
-  if (levels[level]->quads.quads.size() == 0)
-    return end_quad();
-  
+  Assert (levels[level]->quads.quads.size() != 0,
+         ExcEmptyLevel (level));
   return raw_quad_iterator ((Triangulation<dim>*)this,
                            level,
                            0);
@@ -1264,8 +1260,9 @@ Triangulation<dim>::end_quad () const {
 template <int dim>
 typename TriaDimensionInfo<dim>::raw_line_iterator
 Triangulation<dim>::last_raw_line (const unsigned int level) const {
-  Assert (level<levels.size(),
-         ExcInvalidLevel(level));
+  Assert (level<levels.size(), ExcInvalidLevel(level));
+  Assert (levels[level]->lines.lines.size() != 0,
+         ExcEmptyLevel (level));
   
   return raw_line_iterator ((Triangulation<dim>*)this,
                            level,
@@ -1289,7 +1286,9 @@ typename TriaDimensionInfo<dim>::raw_quad_iterator
 Triangulation<dim>::last_raw_quad (const unsigned int level) const {
   Assert (level<levels.size(),
          ExcInvalidLevel(level));
-  
+  Assert (levels[level]->quads.quads.size() != 0,
+         ExcEmptyLevel (level));
+
   return raw_quad_iterator ((Triangulation<dim>*)this,
                            level,
                            levels[level]->quads.quads.size()-1);

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.