]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Use covariant return types to avoid some casts.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Wed, 16 Sep 2015 12:24:40 +0000 (07:24 -0500)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Thu, 17 Sep 2015 19:45:31 +0000 (14:45 -0500)
include/deal.II/fe/mapping_q1.h
include/deal.II/fe/mapping_q1_eulerian.h
source/fe/mapping_q.cc
source/fe/mapping_q1.cc
source/fe/mapping_q1_eulerian.cc

index 20c0b3304550714e79f34be4e1d710a0f6b2f88e..ee4fbf1f0b1e8c3910a84efdeb16b3db80887d87 100644 (file)
@@ -62,7 +62,7 @@ public:
 
   // for documentation, see the Mapping base class
   virtual
-  Mapping<dim,spacedim> *clone () const;
+  MappingQ1<dim,spacedim> *clone () const;
 
   /**
    * @name Mapping points between reference and real cells
index f8ae328377255baad46e05ad233407ee3c2cecab..289a0a8f6fba6dc150d669532118a178e527901c 100644 (file)
@@ -113,7 +113,7 @@ public:
    * then assumes ownership of it.
    */
   virtual
-  Mapping<dim,spacedim> *clone () const;
+  MappingQ1Eulerian<dim,VECTOR,spacedim> *clone () const;
 
   /**
    * Always returns @p false because MappingQ1Eulerian does not in general
index adfc5d6f9b8c58e5d6407141ac31b33728568df7..863fa940ebeec2011246c3e8be84c884ec1e8f71 100644 (file)
@@ -82,7 +82,7 @@ MappingQ<dim,spacedim>::MappingQ (const MappingQ<dim,spacedim> &mapping)
   use_mapping_q_on_all_cells (mapping.use_mapping_q_on_all_cells),
   // clone the Q1 mapping for use on interior cells (if necessary)
   // or to create a good initial guess in transform_real_to_unit_cell()
-  q1_mapping (dynamic_cast<MappingQ1<dim,spacedim>*>(mapping.q1_mapping->clone()))
+  q1_mapping (mapping.q1_mapping->clone())
 {}
 
 
index 67b7ffc9f5b6639aa2717b4daa275fdf06ba50e5..b375941d9b8b666a0b075f9f7967d80a5c472a97 100644 (file)
@@ -48,14 +48,6 @@ MappingQ1<dim,spacedim>::MappingQ1 ()
 
 
 
-template<int dim, int spacedim>
-MappingQ1<dim,spacedim>::MappingQ1 (const unsigned int p)
-  :
-  MappingQGeneric<dim,spacedim> (p)
-{}
-
-
-
 namespace internal
 {
   namespace MappingQ1
@@ -488,7 +480,7 @@ transform_real_to_unit_cell (const typename Triangulation<dim,spacedim>::cell_it
 
 
 template<int dim, int spacedim>
-Mapping<dim,spacedim> *
+MappingQ1<dim,spacedim> *
 MappingQ1<dim,spacedim>::clone () const
 {
   return new MappingQ1<dim,spacedim>(*this);
index a5e1df6478ac17bcccf9391fa95efca3e8535efb..9d2e75b536855e289a65e18646e0607be0dac6a6 100644 (file)
@@ -89,7 +89,7 @@ get_vertices
 
 
 template <int dim, class EulerVectorType, int spacedim>
-Mapping<dim,spacedim> *
+MappingQ1Eulerian<dim,EulerVectorType,spacedim> *
 MappingQ1Eulerian<dim, EulerVectorType, spacedim>::clone () const
 {
   return new MappingQ1Eulerian<dim,EulerVectorType,spacedim>(*this);

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.