From 88c9601579b76e9506e3ef0228a95733403138c7 Mon Sep 17 00:00:00 2001 From: hartmann Date: Thu, 13 Jul 2000 11:41:42 +0000 Subject: [PATCH] replace the virtual function fet_face by a nonvirtual one that returns present_face of FEFaceValuesBase. git-svn-id: https://svn.dealii.org/trunk@3156 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/fe/fe_values.h | 66 +++++--------------------- deal.II/deal.II/source/fe/fe_values.cc | 3 +- 2 files changed, 15 insertions(+), 54 deletions(-) diff --git a/deal.II/deal.II/include/fe/fe_values.h b/deal.II/deal.II/include/fe/fe_values.h index a77b7bb988..be5fa082b9 100644 --- a/deal.II/deal.II/include/fe/fe_values.h +++ b/deal.II/deal.II/include/fe/fe_values.h @@ -961,13 +961,6 @@ class FEFaceValuesBase : public FEValuesBase const UpdateFlags update_flags, const FiniteElement &fe); - /** - * Virtual destructor needed for - * the virtual @p{get_face} - * function. - */ - virtual ~FEFaceValuesBase (); - /** * Return the outward normal vector to * the cell at the @p{i}th quadrature @@ -985,10 +978,9 @@ class FEFaceValuesBase : public FEValuesBase /** * Return the present - * face. Implemented in the - * derived classes. + * face. */ - virtual DoFHandler::face_iterator get_face() const=0; + DoFHandler::face_iterator get_face() const; protected: @@ -1059,6 +1051,15 @@ class FEFaceValuesBase : public FEValuesBase * in by the finite element class. */ vector > normal_vectors; + + /** + * Stores the face or subface, + * resp., that was selected the + * last time the @p{reinit} + * function was called. Is used + * by the @p{get_face} function. + */ + DoFHandler::face_iterator present_face; }; @@ -1130,12 +1131,6 @@ class FEFaceValues : public FEFaceValuesBase */ void reinit (const typename DoFHandler::cell_iterator &cell, const unsigned int face_no); - - - /** - * Return the present face. - */ - virtual DoFHandler::face_iterator get_face() const; }; @@ -1273,11 +1268,6 @@ class FESubfaceValues : public FEFaceValuesBase const unsigned int face_no, const unsigned int subface_no); - /** - * Return the present face. - */ - virtual DoFHandler::face_iterator get_face() const; - /** * Exception */ @@ -1287,16 +1277,6 @@ class FESubfaceValues : public FEFaceValuesBase * Exception */ DeclException0 (ExcFaceHasNoSubfaces); - - protected: - - /** - * Store the subface selected - * last time the @p{reinit} - * function was called. Is used - * by the @p{get_face} fuction. - */ - DoFHandler::face_iterator present_subface; }; @@ -1391,13 +1371,6 @@ FEValuesBase::get_cell() const /*------------------------ Inline functions: FEFaceValuesBase --------------------*/ - -template -inline -FEFaceValuesBase::~FEFaceValuesBase() -{}; - - template inline const vector > & @@ -1409,24 +1382,11 @@ FEFaceValuesBase::get_normal_vectors () const }; -/*------------------------ Inline functions: FEFaceValues ------------------------*/ - -template -inline -DoFHandler::face_iterator -FEFaceValues::get_face() const { - return present_cell->face(selected_dataset); -}; - - - -/*------------------------ Inline functions: FESubfaceValues ------------------------*/ - template inline DoFHandler::face_iterator -FESubfaceValues::get_face() const { - return present_subface; +FEFaceValuesBase::get_face() const { + return present_face; }; diff --git a/deal.II/deal.II/source/fe/fe_values.cc b/deal.II/deal.II/source/fe/fe_values.cc index 3a8e631891..f467218a9c 100644 --- a/deal.II/deal.II/source/fe/fe_values.cc +++ b/deal.II/deal.II/source/fe/fe_values.cc @@ -561,6 +561,7 @@ void FEFaceValues::reinit (const typename DoFHandler::cell_iterator &c const unsigned int face_no) { present_cell = cell; + present_face = cell->face(face_no); selected_dataset = face_no; // assert that the finite elements @@ -752,7 +753,7 @@ void FESubfaceValues::reinit (const typename DoFHandler::cell_iterator ExcFaceHasNoSubfaces()); present_cell = cell; - present_subface = cell->face(face_no)->child(subface_no); + present_face = cell->face(face_no)->child(subface_no); selected_dataset = face_no*(1<<(dim-1)) + subface_no; // assert that the finite elements -- 2.39.5