From: wolf Date: Mon, 16 Aug 1999 11:29:29 +0000 (+0000) Subject: Add a clear () function which resets the triangulation to a basic state. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=16f51fd54049caa6f239e2006afcdf01db0446d8;p=dealii-svn.git Add a clear () function which resets the triangulation to a basic state. git-svn-id: https://svn.dealii.org/trunk@1699 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/grid/tria.h b/deal.II/deal.II/include/grid/tria.h index 28ae990938..6a6fcfc136 100644 --- a/deal.II/deal.II/include/grid/tria.h +++ b/deal.II/deal.II/include/grid/tria.h @@ -1635,6 +1635,12 @@ class Triangulation * the hierarchy. */ virtual ~Triangulation (); + + /** + * Reset this triangulation into a + * virgin state by deleting all data. + */ + void clear (); /** * Assign a boundary object to diff --git a/deal.II/deal.II/source/grid/tria.cc b/deal.II/deal.II/source/grid/tria.cc index 6d72d40028..39d182a569 100644 --- a/deal.II/deal.II/source/grid/tria.cc +++ b/deal.II/deal.II/source/grid/tria.cc @@ -56,10 +56,31 @@ Triangulation::~Triangulation () { for (unsigned int i=0; iunsubscribe (); +}; + + + +template +void Triangulation::clear () +{ + for (unsigned int i=0; iunsubscribe (); + boundary[i] = 0; + }; + + number_cache = TriaNumberCache(); }; @@ -161,6 +182,9 @@ void Triangulation::copy_triangulation (const Triangulation &old_tria) Assert (vertices.size() == 0, ExcTriangulationNotEmpty()); Assert (levels.size () == 0, ExcTriangulationNotEmpty()); + Assert (old_tria.levels.size() != 0, ExcInternalError()); + Assert (old_tria.vertices.size() != 0, ExcInternalError()); + // copy normal elements vertices = old_tria.vertices; vertices_used = old_tria.vertices_used;