From: Wolfgang Bangerth Date: Mon, 26 Mar 2001 15:28:02 +0000 (+0000) Subject: Make add_{line,quad}_support_points protected to allow overloading X-Git-Tag: v8.0.0~19494 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d97f90cd35c8401e560e162ccdc04848fa6fc8f7;p=dealii.git Make add_{line,quad}_support_points protected to allow overloading them in derived classes. git-svn-id: https://svn.dealii.org/trunk@4286 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/fe/mapping_q.h b/deal.II/deal.II/include/fe/mapping_q.h index ed67dfbf12..62964d8d73 100644 --- a/deal.II/deal.II/include/fe/mapping_q.h +++ b/deal.II/deal.II/include/fe/mapping_q.h @@ -46,7 +46,7 @@ class MappingQ : public MappingQ1 * degree of mapping polynomials * on boundary cells. */ - MappingQ (unsigned int p); + MappingQ (const unsigned int p); /** * Destructor. @@ -179,6 +179,60 @@ class MappingQ : public MappingQ1 MappingQ1::InternalData mapping_q1_data; }; + /** + * For @p{dim=2,3}. Append + * (appends) the support points + * of all shape functions located + * on bounding lines to the + * vector @p{a}. Points located + * on the line but on vertices + * are not included. + * + * Needed by the + * @p{compute_support_points_simple(laplace)} + * functions. For @p{dim=1} this + * function is empty. + * + * This function is made virtual + * in order to allow derived + * classes to choose shape + * function support points + * differently than the present + * class, which chooses the + * points as interpolation points + * on the boundary. + */ + virtual void + add_line_support_points (const Triangulation::cell_iterator &cell, + std::vector > &a) const; + + /** + * For @p{dim=3}. Append the + * support points of all shape + * functions located on bounding + * faces (quads in 3d) to the + * vector @p{a}. Points located + * on the line but on vertices + * are not included. + * + * Needed by the + * @p{compute_support_points_laplace} + * function. For @p{dim=1} and 2 + * this function is empty. + * + * This function is made virtual + * in order to allow derived + * classes to choose shape + * function support points + * differently than the present + * class, which chooses the + * points as interpolation points + * on the boundary. + */ + virtual void + add_quad_support_points(const typename Triangulation::cell_iterator &cell, + std::vector > &a) const; + private: /** @@ -315,61 +369,7 @@ class MappingQ : public MappingQ1 */ void compute_support_points_simple( const typename Triangulation::cell_iterator &cell, - std::vector > &a) const; - - /** - * For @p{dim=2,3}. Append - * (appends) the support points - * of all shape functions located - * on bounding lines to the - * vector @p{a}. Points located - * on the line but on vertices - * are not included. - * - * Needed by the - * @p{compute_support_points_simple(laplace)} - * functions. For @p{dim=1} this - * function is empty. - * - * This function is made virtual - * in order to allow derived - * classes to choose shape - * function support points - * differently than the present - * class, which chooses the - * points as interpolation points - * on the boundary. - */ - virtual void - add_line_support_points (const Triangulation::cell_iterator &cell, - std::vector > &a) const; - - /** - * For @p{dim=3}. Append the - * support points of all shape - * functions located on bounding - * faces (quads in 3d) to the - * vector @p{a}. Points located - * on the line but on vertices - * are not included. - * - * Needed by the - * @p{compute_support_points_laplace} - * function. For @p{dim=1} and 2 - * this function is empty. - * - * This function is made virtual - * in order to allow derived - * classes to choose shape - * function support points - * differently than the present - * class, which chooses the - * points as interpolation points - * on the boundary. - */ - virtual void - add_quad_support_points(const typename Triangulation::cell_iterator &cell, - std::vector > &a) const; + std::vector > &a) const; /** * For @p{dim=2} and 3. Simple @@ -461,8 +461,6 @@ class MappingQ : public MappingQ1 */ std::vector renumber; - private: - /** * If this flag is set @p{true} * then @p{MappingQ} is used on