From f6ea55156f1a9a0c174c42a98515d8201b8aa77a Mon Sep 17 00:00:00 2001 From: Ralf Hartmann Date: Tue, 21 Feb 2006 12:53:06 +0000 Subject: [PATCH] New StaticMappingQ1::mapping object. git-svn-id: https://svn.dealii.org/trunk@12436 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/fe/mapping_q1.h | 14 ++++++++++++++ deal.II/deal.II/source/fe/mapping_q1.cc | 11 +++++++++++ 2 files changed, 25 insertions(+) diff --git a/deal.II/deal.II/include/fe/mapping_q1.h b/deal.II/deal.II/include/fe/mapping_q1.h index 1810833ab5..2a9fa19e08 100644 --- a/deal.II/deal.II/include/fe/mapping_q1.h +++ b/deal.II/deal.II/include/fe/mapping_q1.h @@ -605,6 +605,20 @@ class MappingQ1 : public Mapping static const unsigned int n_shape_functions = GeometryInfo::vertices_per_cell; }; + +/** + * In order to avoid creation of static MappingQ1 objects at several + * places in the library (in particular in backward compatibility + * functions), we define a static MappingQ1 objects once and for all + * places where it is needed. + */ +template +struct StaticMappingQ1 +{ + static MappingQ1 mapping; +}; + + /*@}*/ /*----------------------------------------------------------------------*/ diff --git a/deal.II/deal.II/source/fe/mapping_q1.cc b/deal.II/deal.II/source/fe/mapping_q1.cc index c1a5cc54dc..e4acb4ce35 100644 --- a/deal.II/deal.II/source/fe/mapping_q1.cc +++ b/deal.II/deal.II/source/fe/mapping_q1.cc @@ -1030,6 +1030,17 @@ MappingQ1::clone () const return new MappingQ1(*this); } +//--------------------------------------------------------------------------- + + +template MappingQ1 StaticMappingQ1::mapping; + + + //--------------------------------------------------------------------------- template class MappingQ1; +template struct StaticMappingQ1; + + + -- 2.39.5