00001
00002
00003
00004
00005
00006
00007
00008
00009
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
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