include/deal.II/fe/mapping_c1.h

00001 //---------------------------------------------------------------------------
00002 //    @f$Id: mapping_c1.h 25345 2012-03-31 08:37:04Z bangerth @f$
00003 //
00004 //    Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2010, 2012 by the deal.II authors
00005 //
00006 //    This file is subject to QPL and may not be  distributed
00007 //    without copyright and license information. Please refer
00008 //    to the file deal.II/doc/license.html for the  text  and
00009 //    further information on this license.
00010 //
00011 //---------------------------------------------------------------------------
00012 #ifndef __deal2__mapping_c1_h
00013 #define __deal2__mapping_c1_h
00014 
00015 
00016 #include <deal.II/base/config.h>
00017 #include <deal.II/fe/mapping_q.h>
00018 
00019 DEAL_II_NAMESPACE_OPEN
00020 
00023 
00043 template<int dim, int spacedim=dim>
00044 class MappingC1 : public MappingQ<dim,spacedim>
00045 {
00046   public:
00055     MappingC1 ();
00056 
00062     virtual
00063     Mapping<dim,spacedim> * clone () const;
00064 
00065   protected:
00088     virtual void
00089     add_line_support_points (const typename Triangulation<dim>::cell_iterator &cell,
00090                              std::vector<Point<dim> > &a) const;
00091 
00114     virtual void
00115     add_quad_support_points(const typename Triangulation<dim>::cell_iterator &cell,
00116                             std::vector<Point<dim> > &a) const;
00117 };
00118 
00121 /* -------------- declaration of explicit specializations ------------- */
00122 
00123 #ifndef DOXYGEN
00124 
00125 template <> void MappingC1<1>::add_line_support_points (
00126   const Triangulation<1>::cell_iterator &,
00127   std::vector<Point<1> > &) const;
00128 template <> void MappingC1<2>::add_line_support_points (
00129   const Triangulation<2>::cell_iterator &cell,
00130   std::vector<Point<2> > &a) const;
00131 
00132 template <> void MappingC1<1>::add_quad_support_points (
00133   const Triangulation<1>::cell_iterator &,
00134   std::vector<Point<1> > &) const;
00135 template <> void MappingC1<2>::add_quad_support_points (
00136   const Triangulation<2>::cell_iterator &,
00137   std::vector<Point<2> > &) const;
00138 
00139 
00140 #endif // DOXYGEN
00141 
00142 DEAL_II_NAMESPACE_CLOSE
00143 
00144 #endif
00145 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Tue May 22 2012 12:06:08 by doxygen 1.7.3