]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Empty FEValuesData and move the only two members to the derived class.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Thu, 6 Aug 2015 02:00:37 +0000 (21:00 -0500)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Thu, 6 Aug 2015 02:00:37 +0000 (21:00 -0500)
include/deal.II/fe/fe_values.h
source/fe/fe_values.cc

index 5257d5180536e0040c9e310a23829af183da3d06..dfbde3f28a0592960de97286b8162c2fd5e3f64f 100644 (file)
@@ -1274,18 +1274,6 @@ template <int dim, int spacedim=dim>
 class FEValuesData : public internal::FEValues::MappingRelatedData<dim,spacedim>,
   public internal::FEValues::FiniteElementRelatedData<dim,spacedim>
 {
-public:
-  /**
-   * Initialize all vectors to correct size.
-   */
-  void initialize (const unsigned int        n_quadrature_points,
-                   const FiniteElement<dim,spacedim> &fe,
-                   const UpdateFlags         flags);
-
-  /**
-   * Original update flags handed to the constructor of FEValues.
-   */
-  UpdateFlags          update_flags;
 };
 
 
@@ -2372,7 +2360,6 @@ protected:
    */
   const SmartPointer<const FiniteElement<dim,spacedim>,FEValuesBase<dim,spacedim> > fe;
 
-
   /**
    * Internal data of mapping.
    */
@@ -2383,6 +2370,11 @@ protected:
    */
   SmartPointer<typename Mapping<dim,spacedim>::InternalDataBase,FEValuesBase<dim,spacedim> > fe_data;
 
+  /**
+   * Original update flags handed to the constructor of FEValues.
+   */
+  UpdateFlags          update_flags;
+
   /**
    * Initialize some update flags. Called from the @p initialize functions of
    * derived classes, which are in turn called from their constructors.
index 6960d72c56634b52dbdfafc3341bab40bc1fbf88..de1051e3b40108ccabefcf099f3857772e2ef81a 100644 (file)
@@ -104,7 +104,7 @@ namespace FEValuesViews
             ExcIndexRange(component, 0, fe_values.fe->n_components()));
 
 //TODO: we'd like to use the fields with the same name as these
-// variables from FEValuesData, but they aren't initialized yet
+// variables from FEValuesBase, but they aren't initialized yet
 // at the time we get here, so re-create it all
     const std::vector<unsigned int> shape_function_to_row_table
       = make_shape_function_to_row_table (*fe_values.fe);
@@ -165,7 +165,7 @@ namespace FEValuesViews
                           fe_values.fe->n_components()));
 
 //TODO: we'd like to use the fields with the same name as these
-// variables from FEValuesData, but they aren't initialized yet
+// variables from FEValuesBase, but they aren't initialized yet
 // at the time we get here, so re-create it all
     const std::vector<unsigned int> shape_function_to_row_table
       = make_shape_function_to_row_table (*fe_values.fe);
@@ -263,7 +263,7 @@ namespace FEValuesViews
                          0,
                          fe_values.fe->n_components()));
 //TODO: we'd like to use the fields with the same name as these
-// variables from FEValuesData, but they aren't initialized yet
+// variables from FEValuesBase, but they aren't initialized yet
 // at the time we get here, so re-create it all
     const std::vector<unsigned int> shape_function_to_row_table
       = make_shape_function_to_row_table (*fe_values.fe);
@@ -362,7 +362,7 @@ namespace FEValuesViews
                          0,
                          fe_values.fe->n_components()));
 //TODO: we'd like to use the fields with the same name as these
-// variables from FEValuesData, but they aren't initialized yet
+// variables from FEValuesBase, but they aren't initialized yet
 // at the time we get here, so re-create it all
     const std::vector<unsigned int> shape_function_to_row_table
       = make_shape_function_to_row_table (*fe_values.fe);
@@ -2070,9 +2070,6 @@ get_interpolated_dof_values (const IndexSet &,
 
 
 
-/* --------------------- FEValuesData ----------------- */
-
-
 namespace internal
 {
   namespace FEValues
@@ -2149,20 +2146,6 @@ namespace internal
 }
 
 
-template <int dim, int spacedim>
-void
-FEValuesData<dim,spacedim>::initialize (const unsigned int        n_quadrature_points,
-                                        const FiniteElement<dim,spacedim> &fe,
-                                        const UpdateFlags         flags)
-{
-  // initialize the base classes
-  internal::FEValues::MappingRelatedData<dim,spacedim>::initialize(n_quadrature_points, flags);
-  internal::FEValues::FiniteElementRelatedData<dim,spacedim>::initialize(n_quadrature_points, fe, flags);
-
-  this->update_flags = flags;
-}
-
-
 
 /*------------------------------- FEValuesBase ---------------------------*/
 
@@ -3447,8 +3430,11 @@ FEValues<dim,spacedim>::initialize (const UpdateFlags update_flags)
   this->mapping_data = this->mapping->get_data(flags, quadrature);
   this->fe_data      = this->fe->get_data(flags, *this->mapping, quadrature);
 
-  // set up objects within this class
-  FEValuesData<dim,spacedim>::initialize (this->n_quadrature_points, *this->fe, flags);
+  // initialize the base classes
+  internal::FEValues::MappingRelatedData<dim,spacedim>::initialize(this->n_quadrature_points, flags);
+  internal::FEValues::FiniteElementRelatedData<dim,spacedim>::initialize(this->n_quadrature_points, *this->fe, flags);
+
+  this->update_flags = flags;
 }
 
 
@@ -3674,8 +3660,11 @@ FEFaceValues<dim,spacedim>::initialize (const UpdateFlags update_flags)
   this->mapping_data = this->mapping->get_face_data(flags, this->quadrature);
   this->fe_data      = this->fe->get_face_data(flags, *this->mapping, this->quadrature);
 
-  // set up objects within this class
-  FEValuesData<dim,spacedim>::initialize(this->n_quadrature_points, *this->fe, flags);
+  // initialize the base classes
+  internal::FEValues::MappingRelatedData<dim,spacedim>::initialize(this->n_quadrature_points, flags);
+  internal::FEValues::FiniteElementRelatedData<dim,spacedim>::initialize(this->n_quadrature_points, *this->fe, flags);
+
+  this->update_flags = flags;
 }
 
 
@@ -3822,8 +3811,11 @@ FESubfaceValues<dim,spacedim>::initialize (const UpdateFlags update_flags)
                                                   *this->mapping,
                                                   this->quadrature);
 
-  // set up objects within this class
-  FEValuesData<dim,spacedim>::initialize(this->n_quadrature_points, *this->fe, flags);
+  // initialize the base classes
+  internal::FEValues::MappingRelatedData<dim,spacedim>::initialize(this->n_quadrature_points, flags);
+  internal::FEValues::FiniteElementRelatedData<dim,spacedim>::initialize(this->n_quadrature_points, *this->fe, flags);
+
+  this->update_flags = flags;
 }
 
 

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.