Reference documentation for deal.II version 8.1.0
mapping_c1.h
1 // ---------------------------------------------------------------------
2 // @f$Id: mapping_c1.h 30450 2013-08-23 15:48:29Z kronbichler @f$
3 //
4 // Copyright (C) 2001 - 2013 by the deal.II authors
5 //
6 // This file is part of the deal.II library.
7 //
8 // The deal.II library is free software; you can use it, redistribute
9 // it, and/or modify it under the terms of the GNU Lesser General
10 // Public License as published by the Free Software Foundation; either
11 // version 2.1 of the License, or (at your option) any later version.
12 // The full text of the license can be found in the file LICENSE at
13 // the top level of the deal.II distribution.
14 //
15 // ---------------------------------------------------------------------
16 
17 #ifndef __deal2__mapping_c1_h
18 #define __deal2__mapping_c1_h
19 
20 
21 #include <deal.II/base/config.h>
22 #include <deal.II/fe/mapping_q.h>
23 
25 
28 
48 template<int dim, int spacedim=dim>
49 class MappingC1 : public MappingQ<dim,spacedim>
50 {
51 public:
56  MappingC1 ();
57 
62  virtual
63  Mapping<dim,spacedim> *clone () const;
64 
65 protected:
78  virtual void
80  std::vector<Point<dim> > &a) const;
81 
94  virtual void
96  std::vector<Point<dim> > &a) const;
97 };
98 
101 /* -------------- declaration of explicit specializations ------------- */
102 
103 #ifndef DOXYGEN
104 
105 template <> void MappingC1<1>::add_line_support_points (
107  std::vector<Point<1> > &) const;
108 template <> void MappingC1<2>::add_line_support_points (
110  std::vector<Point<2> > &a) const;
111 
112 template <> void MappingC1<1>::add_quad_support_points (
114  std::vector<Point<1> > &) const;
115 template <> void MappingC1<2>::add_quad_support_points (
117  std::vector<Point<2> > &) const;
118 
119 
120 #endif // DOXYGEN
121 
122 DEAL_II_NAMESPACE_CLOSE
123 
124 #endif
virtual void add_quad_support_points(const typename Triangulation< dim >::cell_iterator &cell, std::vector< Point< dim > > &a) const
virtual void add_line_support_points(const typename Triangulation< dim >::cell_iterator &cell, std::vector< Point< dim > > &a) const
virtual Mapping< dim, spacedim > * clone() const