From f9cc8730483ec2b9d7786b7adfc4e14e60f6a54a Mon Sep 17 00:00:00 2001 From: Guido Kanschat Date: Mon, 13 Feb 2006 16:16:59 +0000 Subject: [PATCH] add access to the raw number of level objects git-svn-id: https://svn.dealii.org/trunk@12361 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/grid/tria.h | 24 ++++++++++--- deal.II/deal.II/source/grid/tria.cc | 53 +++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 4 deletions(-) diff --git a/deal.II/deal.II/include/grid/tria.h b/deal.II/deal.II/include/grid/tria.h index ec40f38ac5..6bb75d92e7 100644 --- a/deal.II/deal.II/include/grid/tria.h +++ b/deal.II/deal.II/include/grid/tria.h @@ -2580,6 +2580,22 @@ class Triangulation : public Subscriptor */ unsigned int n_active_faces (const unsigned int level) const; + + /** + * Number of lines, used or unused. + */ + unsigned int n_raw_lines(const unsigned int level) const; + + /** + * Number of quads, used or unused. + */ + unsigned int n_raw_quads(const unsigned int level) const; + + /** + * Number of hexes, used or unused. + */ + unsigned int n_raw_hexs(const unsigned int level) const; + /** * Return number of levels in use. This * may be less than the number of levels @@ -2627,7 +2643,7 @@ class Triangulation : public Subscriptor */ const std::vector > & get_vertices () const; - + /** * Return the number of vertices * that are presently in use, @@ -3071,9 +3087,9 @@ class Triangulation : public Subscriptor friend class TriaRawIterator<3,TriaObjectAccessor<3, 3> >; friend class TriaRawIterator<3,CellAccessor<3> >; - friend class DoFHandler; - friend class hp::DoFHandler; - friend class MGDoFHandler; +// friend class DoFHandler; +// friend class hp::DoFHandler; +// friend class MGDoFHandler; }; diff --git a/deal.II/deal.II/source/grid/tria.cc b/deal.II/deal.II/source/grid/tria.cc index c73d65c6fe..b905d30af7 100644 --- a/deal.II/deal.II/source/grid/tria.cc +++ b/deal.II/deal.II/source/grid/tria.cc @@ -4057,6 +4057,14 @@ unsigned int Triangulation::n_lines () const { } +template +unsigned int Triangulation::n_raw_lines (const unsigned int level) const +{ + Assert(levelslines.lines.size(); +} + + template unsigned int Triangulation::n_lines (const unsigned int level) const { Assert (level < number_cache.n_lines_level.size(), @@ -4097,6 +4105,20 @@ unsigned int Triangulation<1>::n_quads (const unsigned int) const } +template +unsigned int Triangulation::n_raw_quads (const unsigned int level) const +{ + return 0; +} + + +template +unsigned int Triangulation::n_raw_hexs (const unsigned int level) const +{ + return 0; +} + + template <> unsigned int Triangulation<1>::n_active_quads (const unsigned int) const { @@ -4129,6 +4151,21 @@ unsigned int Triangulation::n_quads (const unsigned int level) const { } +template +unsigned int Triangulation::n_raw_quads (const unsigned int level) const +{ + Assert(levelsquads.quads.size(); +} + + +template +unsigned int Triangulation::n_raw_hexs (const unsigned int level) const +{ + return 0; +} + + template unsigned int Triangulation::n_active_quads () const { return number_cache.n_active_quads; @@ -4199,6 +4236,22 @@ unsigned int Triangulation::n_hexs (const unsigned int level) const +template +unsigned int Triangulation::n_raw_quads (const unsigned int level) const +{ + Assert(levelsquads.quads.size(); +} + + +template +unsigned int Triangulation::n_raw_hexs (const unsigned int level) const +{ + Assert(levelshexs.hexs.size(); +} + + template unsigned int Triangulation::n_active_hexs () const { -- 2.39.5