From: bangerth Date: Mon, 8 Dec 2008 20:31:32 +0000 (+0000) Subject: Avoid one problem with missing references by moving functions around a bit. This... X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cdf4f89daf060e8e10160d3ba7b8f49957ec0c67;p=dealii-svn.git Avoid one problem with missing references by moving functions around a bit. This also avoids one gratuitous indirection for each call of get/set_dof_index. Several other similar functions remain to be treated, however. git-svn-id: https://svn.dealii.org/trunk@17897 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/dofs/dof_accessor.templates.h b/deal.II/deal.II/include/dofs/dof_accessor.templates.h index 405128e5a9..a42e492009 100644 --- a/deal.II/deal.II/include/dofs/dof_accessor.templates.h +++ b/deal.II/deal.II/include/dofs/dof_accessor.templates.h @@ -17,7 +17,9 @@ #include #include #include +#include #include +#include #include #include @@ -200,6 +202,507 @@ DoFAccessor::set_vertex_dof_index (const unsigned int vertex, +namespace internal +{ + namespace DoFAccessor + { + /** + * A class like the one with same + * name in tria.cc. See there for + * more information. + */ + struct Implementation + { + /** + * Implementations of the + * get_dof_index/set_dof_index functions. + */ + template + static + unsigned int + get_dof_index (const dealii::DoFHandler<1,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + internal::int2type<1>) + { + return dof_handler.levels[obj_level]->lines. + get_dof_index (dof_handler, + obj_index, + fe_index, + local_index); + } + + + template + static + void + set_dof_index (const dealii::DoFHandler<1,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + internal::int2type<1>, + const unsigned int global_index) + { + dof_handler.levels[obj_level]->lines. + set_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + global_index); + } + + + template + static + unsigned int + get_dof_index (const dealii::DoFHandler<2,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + internal::int2type<1>) + { + // faces have no levels + Assert (obj_level == 0, ExcInternalError()); + return dof_handler.faces->lines. + get_dof_index (dof_handler, + obj_index, + fe_index, + local_index); + } + + + template + static + void + set_dof_index (const dealii::DoFHandler<2,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + internal::int2type<1>, + const unsigned int global_index) + { + // faces have no levels + Assert (obj_level == 0, ExcInternalError()); + dof_handler.faces->lines. + set_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + global_index); + } + + + template + static + unsigned int + get_dof_index (const dealii::DoFHandler<2,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + internal::int2type<2>) + { + return dof_handler.levels[obj_level]->quads. + get_dof_index (dof_handler, + obj_index, + fe_index, + local_index); + } + + + template + static + void + set_dof_index (const dealii::DoFHandler<2,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + internal::int2type<2>, + const unsigned int global_index) + { + dof_handler.levels[obj_level]->quads. + set_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + global_index); + } + + + template + static + unsigned int + get_dof_index (const dealii::DoFHandler<3,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + internal::int2type<1>) + { + // faces have no levels + Assert (obj_level == 0, ExcInternalError()); + return dof_handler.faces->lines. + get_dof_index (dof_handler, + obj_index, + fe_index, + local_index); + } + + + template + static + void + set_dof_index (const dealii::DoFHandler<3,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + internal::int2type<1>, + const unsigned int global_index) + { + // faces have no levels + Assert (obj_level == 0, ExcInternalError()); + dof_handler.faces->lines. + set_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + global_index); + } + + + + template + static + unsigned int + get_dof_index (const dealii::DoFHandler<3,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + internal::int2type<2>) + { + // faces have no levels + Assert (obj_level == 0, ExcInternalError()); + return dof_handler.faces->quads. + get_dof_index (dof_handler, + obj_index, + fe_index, + local_index); + } + + + template + static + void + set_dof_index (const dealii::DoFHandler<3,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + internal::int2type<2>, + const unsigned int global_index) + { + // faces have no levels + Assert (obj_level == 0, ExcInternalError()); + dof_handler.faces->quads. + set_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + global_index); + } + + + + template + static + unsigned int + get_dof_index (const dealii::DoFHandler<3,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + internal::int2type<3>) + { + return dof_handler.levels[obj_level]->hexes. + get_dof_index (dof_handler, + obj_index, + fe_index, + local_index); + } + + + template + static + void + set_dof_index (const dealii::DoFHandler<3,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + internal::int2type<3>, + const unsigned int global_index) + { + dof_handler.levels[obj_level]->hexes. + set_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + global_index); + } + + + template + static + unsigned int + get_dof_index (const dealii::hp::DoFHandler<1,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + const internal::int2type<1> &) + { + return dof_handler.levels[obj_level]->lines. + get_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + obj_level); + } + + + template + static + void + set_dof_index (const dealii::hp::DoFHandler<1,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + const internal::int2type<1> &, + const unsigned int global_index) + { + dof_handler.levels[obj_level]->lines. + set_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + global_index, + obj_level); + } + + + template + static + unsigned int + get_dof_index (const dealii::hp::DoFHandler<2,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + const internal::int2type<1> &) + { + return dof_handler.faces->lines. + get_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + obj_level); + } + + + template + static + void + set_dof_index (const dealii::hp::DoFHandler<2,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + const internal::int2type<1> &, + const unsigned int global_index) + { + dof_handler.faces->lines. + set_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + global_index, + obj_level); + } + + + template + static + unsigned int + get_dof_index (const dealii::hp::DoFHandler<2,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + const internal::int2type<2> &) + { + return dof_handler.levels[obj_level]->quads. + get_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + obj_level); + } + + + template + static + void + set_dof_index (const dealii::hp::DoFHandler<2,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + const internal::int2type<2> &, + const unsigned int global_index) + { + dof_handler.levels[obj_level]->quads. + set_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + global_index, + obj_level); + } + + + template + static + unsigned int + get_dof_index (const dealii::hp::DoFHandler<3,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + const internal::int2type<1> &) + { + return dof_handler.faces->lines. + get_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + obj_level); + } + + + template + static + void + set_dof_index (const dealii::hp::DoFHandler<3,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + const internal::int2type<1> &, + const unsigned int global_index) + { + dof_handler.faces->lines. + set_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + global_index, + obj_level); + } + + + template + static + unsigned int + get_dof_index (const dealii::hp::DoFHandler<3,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + const internal::int2type<2> &) + { + return dof_handler.faces->quads. + get_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + obj_level); + } + + + template + static + void + set_dof_index (const dealii::hp::DoFHandler<3,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + const internal::int2type<2> &, + const unsigned int global_index) + { + dof_handler.faces->quads. + set_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + global_index, + obj_level); + } + + + template + static + unsigned int + get_dof_index (const dealii::hp::DoFHandler<3,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + const internal::int2type<3> &) + { + return dof_handler.levels[obj_level]->hexes. + get_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + obj_level); + } + + + template + static + void + set_dof_index (const dealii::hp::DoFHandler<3,spacedim> &dof_handler, + const unsigned int obj_level, + const unsigned int obj_index, + const unsigned int fe_index, + const unsigned int local_index, + const internal::int2type<3> &, + const unsigned int global_index) + { + dof_handler.levels[obj_level]->hexes. + set_dof_index (dof_handler, + obj_index, + fe_index, + local_index, + global_index, + obj_level); + } + }; + } +} + + + template inline unsigned int @@ -207,11 +710,12 @@ DoFAccessor::dof_index (const unsigned int i, const unsigned int fe_index) const { // access the respective DoF - return this->dof_handler - ->template get_dof_index (this->level(), - this->present_index, - fe_index, - i); + return internal::DoFAccessor::Implementation::get_dof_index (*this->dof_handler, + this->level(), + this->present_index, + fe_index, + i, + internal::int2type()); } @@ -224,12 +728,13 @@ DoFAccessor::set_dof_index (const unsigned int i, const unsigned int fe_index) const { // access the respective DoF - this->dof_handler - ->template set_dof_index (this->level(), - this->present_index, - fe_index, - i, - index); + internal::DoFAccessor::Implementation::set_dof_index (*this->dof_handler, + this->level(), + this->present_index, + fe_index, + i, + internal::int2type(), + index); } diff --git a/deal.II/deal.II/include/dofs/dof_handler.h b/deal.II/deal.II/include/dofs/dof_handler.h index 00ef5ebb07..ae310aa57c 100644 --- a/deal.II/deal.II/include/dofs/dof_handler.h +++ b/deal.II/deal.II/include/dofs/dof_handler.h @@ -37,6 +37,11 @@ namespace internal struct Implementation; } + namespace DoFAccessor + { + struct Implementation; + } + namespace DoFCellAccessor { struct Implementation; @@ -1116,31 +1121,6 @@ class DoFHandler : public Subscriptor const unsigned int fe_index, const unsigned int local_index) const; - /** - * Return the @p i-th - * dof-index. This function - * calls the respective function - * of DoFObjects. - */ - template - unsigned int get_dof_index (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index) const; - - /** - * Set the @p i-th - * dof-index. This function - * calls the respective function - * of DoFObjects. - */ - template - void set_dof_index (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - const unsigned int global_index) const; - /** * Return the number of active * fe-indices on the given @@ -1215,6 +1195,7 @@ class DoFHandler : public Subscriptor */ template friend class DoFAccessor; template friend class DoFCellAccessor; + friend class internal::DoFAccessor::Implementation; friend class internal::DoFCellAccessor::Implementation; friend class internal::DoFHandler::Implementation; diff --git a/deal.II/deal.II/include/hp/dof_handler.h b/deal.II/deal.II/include/hp/dof_handler.h index e58a2a488d..7b50c313d5 100644 --- a/deal.II/deal.II/include/hp/dof_handler.h +++ b/deal.II/deal.II/include/hp/dof_handler.h @@ -46,6 +46,11 @@ namespace internal namespace internal { + namespace DoFAccessor + { + struct Implementation; + } + namespace DoFCellAccessor { struct Implementation; @@ -1062,32 +1067,7 @@ namespace hp */ bool fe_is_active_on_vertex (const unsigned int vertex_index, - const unsigned int fe_index) const; - - /** - * Return the @p i-th - * dof-index. This function - * calls the respective - * function of DoFObjects. - */ - template - unsigned int get_dof_index (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index) const; - - /** - * Set the @p i-th - * dof-index. This function - * calls the respective - * function of DoFObjects. - */ - template - void set_dof_index (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - const unsigned int global_index) const; + const unsigned int fe_index) const; /** * Number of active fe-indices, @@ -1271,6 +1251,7 @@ namespace hp */ template friend class dealii::DoFAccessor; template friend class dealii::DoFCellAccessor; + friend class internal::DoFAccessor::Implementation; friend class internal::DoFCellAccessor::Implementation; /** diff --git a/deal.II/deal.II/source/dofs/dof_handler.cc b/deal.II/deal.II/source/dofs/dof_handler.cc index 3f7f775f6c..30ddd82010 100644 --- a/deal.II/deal.II/source/dofs/dof_handler.cc +++ b/deal.II/deal.II/source/dofs/dof_handler.cc @@ -625,251 +625,6 @@ namespace internal .resize (dof_handler.tria->n_raw_quads() * dof_handler.selected_fe->dofs_per_quad, DoFHandler<3,spacedim>::invalid_dof_index); - } - - /** - * Implementations of the - * get_dof_index/set_dof_index functions. - */ - template - static - unsigned int - get_dof_index (const DoFHandler<1,spacedim> &dof_handler, - const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - internal::int2type<1>) - { - return dof_handler.levels[obj_level]->lines. - get_dof_index (dof_handler, - obj_index, - fe_index, - local_index); - } - - - template - static - void - set_dof_index (const DoFHandler<1,spacedim> &dof_handler, - const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - internal::int2type<1>, - const unsigned int global_index) - { - dof_handler.levels[obj_level]->lines. - set_dof_index (dof_handler, - obj_index, - fe_index, - local_index, - global_index); - } - - - template - static - unsigned int - get_dof_index (const DoFHandler<2,spacedim> &dof_handler, - const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - internal::int2type<1>) - { - // faces have no levels - Assert (obj_level == 0, ExcInternalError()); - return dof_handler.faces->lines. - get_dof_index (dof_handler, - obj_index, - fe_index, - local_index); - } - - - template - static - void - set_dof_index (const DoFHandler<2,spacedim> &dof_handler, - const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - internal::int2type<1>, - const unsigned int global_index) - { - // faces have no levels - Assert (obj_level == 0, ExcInternalError()); - dof_handler.faces->lines. - set_dof_index (dof_handler, - obj_index, - fe_index, - local_index, - global_index); - } - - - template - static - unsigned int - get_dof_index (const DoFHandler<2,spacedim> &dof_handler, - const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - internal::int2type<2>) - { - return dof_handler.levels[obj_level]->quads. - get_dof_index (dof_handler, - obj_index, - fe_index, - local_index); - } - - - template - static - void - set_dof_index (const DoFHandler<2,spacedim> &dof_handler, - const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - internal::int2type<2>, - const unsigned int global_index) - { - dof_handler.levels[obj_level]->quads. - set_dof_index (dof_handler, - obj_index, - fe_index, - local_index, - global_index); - } - - - template - static - unsigned int - get_dof_index (const DoFHandler<3,spacedim> &dof_handler, - const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - internal::int2type<1>) - { - // faces have no levels - Assert (obj_level == 0, ExcInternalError()); - return dof_handler.faces->lines. - get_dof_index (dof_handler, - obj_index, - fe_index, - local_index); - } - - - template - static - void - set_dof_index (const DoFHandler<3,spacedim> &dof_handler, - const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - internal::int2type<1>, - const unsigned int global_index) - { - // faces have no levels - Assert (obj_level == 0, ExcInternalError()); - dof_handler.faces->lines. - set_dof_index (dof_handler, - obj_index, - fe_index, - local_index, - global_index); - } - - - - template - static - unsigned int - get_dof_index (const DoFHandler<3,spacedim> &dof_handler, - const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - internal::int2type<2>) - { - // faces have no levels - Assert (obj_level == 0, ExcInternalError()); - return dof_handler.faces->quads. - get_dof_index (dof_handler, - obj_index, - fe_index, - local_index); - } - - - template - static - void - set_dof_index (const DoFHandler<3,spacedim> &dof_handler, - const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - internal::int2type<2>, - const unsigned int global_index) - { - // faces have no levels - Assert (obj_level == 0, ExcInternalError()); - dof_handler.faces->quads. - set_dof_index (dof_handler, - obj_index, - fe_index, - local_index, - global_index); - } - - - - template - static - unsigned int - get_dof_index (const DoFHandler<3,spacedim> &dof_handler, - const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - internal::int2type<3>) - { - return dof_handler.levels[obj_level]->hexes. - get_dof_index (dof_handler, - obj_index, - fe_index, - local_index); - } - - - template - static - void - set_dof_index (const DoFHandler<3,spacedim> &dof_handler, - const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - internal::int2type<3>, - const unsigned int global_index) - { - dof_handler.levels[obj_level]->hexes. - set_dof_index (dof_handler, - obj_index, - fe_index, - local_index, - global_index); } }; } @@ -1936,40 +1691,6 @@ DoFHandler::last_active_hex () const //--------------------------------------------------------------------------- -template -template -unsigned int -DoFHandler::get_dof_index (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index) const -{ - return - internal::DoFHandler::Implementation::get_dof_index (*this, - obj_level, obj_index, - fe_index, local_index, - internal::int2type()); -} - - - -template -template -void -DoFHandler::set_dof_index (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - const unsigned int global_index) const -{ - internal::DoFHandler::Implementation::set_dof_index (*this, - obj_level, obj_index, - fe_index, local_index, - internal::int2type(), - global_index); -} - - #if deal_II_dimension == 1 @@ -2339,31 +2060,4 @@ template class DoFHandler; #endif -template -unsigned int -DoFHandler:: -get_dof_index (const unsigned int, const unsigned int, - const unsigned int, const unsigned int) const; -template -void -DoFHandler:: -set_dof_index (const unsigned int, const unsigned int, - const unsigned int, const unsigned int, - const unsigned int) const; - -#if deal_II_dimension != 3 - -template -unsigned int -DoFHandler:: -get_dof_index (const unsigned int, const unsigned int, - const unsigned int, const unsigned int) const; -template -void -DoFHandler:: -set_dof_index (const unsigned int, const unsigned int, - const unsigned int, const unsigned int, - const unsigned int) const; -#endif - DEAL_II_NAMESPACE_CLOSE diff --git a/deal.II/deal.II/source/hp/dof_handler.cc b/deal.II/deal.II/source/hp/dof_handler.cc index fd47b71073..bea2b2087d 100644 --- a/deal.II/deal.II/source/hp/dof_handler.cc +++ b/deal.II/deal.II/source/hp/dof_handler.cc @@ -2648,41 +2648,6 @@ namespace hp //------------------------------------------------------------------ #if deal_II_dimension == 1 - template <> - template <> - unsigned int - DoFHandler<1>::get_dof_index<1> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index) const - { - return this->levels[obj_level]->lines. - get_dof_index (*this, - obj_index, - fe_index, - local_index, - obj_level); - } - - - template <> - template <> - void - DoFHandler<1>::set_dof_index<1> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - const unsigned int global_index) const - { - this->levels[obj_level]->lines. - set_dof_index (*this, - obj_index, - fe_index, - local_index, - global_index, - obj_level); - } - template <> template <> @@ -2725,42 +2690,6 @@ namespace hp - template <> - template <> - unsigned int - DoFHandler<1,2>::get_dof_index<1> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index) const - { - return this->levels[obj_level]->lines. - get_dof_index (*this, - obj_index, - fe_index, - local_index, - obj_level); - } - - - template <> - template <> - void - DoFHandler<1,2>::set_dof_index<1> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - const unsigned int global_index) const - { - this->levels[obj_level]->lines. - set_dof_index (*this, - obj_index, - fe_index, - local_index, - global_index, - obj_level); - } - - template <> template <> bool @@ -2804,43 +2733,6 @@ namespace hp #if deal_II_dimension == 2 - template <> - template <> - unsigned int - DoFHandler<2>::get_dof_index<1> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index) const - { - return this->faces->lines. - get_dof_index (*this, - obj_index, - fe_index, - local_index, - obj_level); - } - - - template <> - template <> - void - DoFHandler<2>::set_dof_index<1> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - const unsigned int global_index) const - { - this->faces->lines. - set_dof_index (*this, - obj_index, - fe_index, - local_index, - global_index, - obj_level); - - } - - template <> template <> bool @@ -2881,43 +2773,6 @@ namespace hp - template <> - template <> - unsigned int - DoFHandler<2>::get_dof_index<2> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index) const - { - return this->levels[obj_level]->quads. - get_dof_index (*this, - obj_index, - fe_index, - local_index, - obj_level); - } - - - template <> - template <> - void - DoFHandler<2>::set_dof_index<2> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - const unsigned int global_index) const - { - this->levels[obj_level]->quads. - set_dof_index (*this, - obj_index, - fe_index, - local_index, - global_index, - obj_level); - - } - - template <> template <> bool @@ -2958,43 +2813,6 @@ namespace hp } - template <> - template <> - unsigned int - DoFHandler<2,3>::get_dof_index<1> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index) const - { - return this->faces->lines. - get_dof_index (*this, - obj_index, - fe_index, - local_index, - obj_level); - } - - - template <> - template <> - void - DoFHandler<2,3>::set_dof_index<1> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - const unsigned int global_index) const - { - this->faces->lines. - set_dof_index (*this, - obj_index, - fe_index, - local_index, - global_index, - obj_level); - - } - - template <> template <> bool @@ -3035,43 +2853,6 @@ namespace hp - template <> - template <> - unsigned int - DoFHandler<2,3>::get_dof_index<2> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index) const - { - return this->levels[obj_level]->quads. - get_dof_index (*this, - obj_index, - fe_index, - local_index, - obj_level); - } - - - template <> - template <> - void - DoFHandler<2,3>::set_dof_index<2> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - const unsigned int global_index) const - { - this->levels[obj_level]->quads. - set_dof_index (*this, - obj_index, - fe_index, - local_index, - global_index, - obj_level); - - } - - template <> template <> bool @@ -3115,43 +2896,6 @@ namespace hp #endif #if deal_II_dimension == 3 - template <> - template <> - unsigned int - DoFHandler<3>::get_dof_index<1> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index) const - { - return this->faces->lines. - get_dof_index (*this, - obj_index, - fe_index, - local_index, - obj_level); - } - - - template <> - template <> - void - DoFHandler<3>::set_dof_index<1> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - const unsigned int global_index) const - { - this->faces->lines. - set_dof_index (*this, - obj_index, - fe_index, - local_index, - global_index, - obj_level); - - } - - template <> template <> bool @@ -3193,80 +2937,6 @@ namespace hp - template <> - template <> - unsigned int - DoFHandler<3>::get_dof_index<2> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index) const - { - return this->faces->quads. - get_dof_index (*this, - obj_index, - fe_index, - local_index, - obj_level); - } - - - template <> - template <> - unsigned int - DoFHandler<3>::get_dof_index<3> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index) const - { - return this->levels[obj_level]->hexes. - get_dof_index (*this, - obj_index, - fe_index, - local_index, - obj_level); - } - - - template <> - template <> - void - DoFHandler<3>::set_dof_index<2> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - const unsigned int global_index) const - { - this->faces->quads. - set_dof_index (*this, - obj_index, - fe_index, - local_index, - global_index, - obj_level); - - } - - - template <> - template <> - void - DoFHandler<3>::set_dof_index<3> (const unsigned int obj_level, - const unsigned int obj_index, - const unsigned int fe_index, - const unsigned int local_index, - const unsigned int global_index) const - { - this->levels[obj_level]->hexes. - set_dof_index (*this, - obj_index, - fe_index, - local_index, - global_index, - obj_level); - - } - - template <> template <> bool