]> https://gitweb.dealii.org/ - dealii.git/commitdiff
New get_intermediate_points_on_quad functions in Boundary in StraightBoundary classes.
authorRalf Hartmann <Ralf.Hartmann@dlr.de>
Fri, 12 Jan 2001 09:12:27 +0000 (09:12 +0000)
committerRalf Hartmann <Ralf.Hartmann@dlr.de>
Fri, 12 Jan 2001 09:12:27 +0000 (09:12 +0000)
git-svn-id: https://svn.dealii.org/trunk@3643 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/grid/tria_boundary.h

index c7115e2eb3348515d54d6947c7432e38cb4e59ad..3bc68198c31c21974b27bcb4a46c727da9231ede 100644 (file)
@@ -139,10 +139,46 @@ class Boundary : public Subscriptor
     get_intermediate_points_on_line (const typename Triangulation<dim>::line_iterator &line,
                                     vector<Point<dim> > &points) const;
     
+                                    /**
+                                     * Return intermediate points
+                                     * on the boundary quad.
+                                     *
+                                     * The number of points requested
+                                     * is given by the size of the
+                                     * vector @p{points}. It is
+                                     * required that this number is a
+                                     * square of another integer,
+                                     * i.e. @p{n=points.size()=m*m}. It
+                                     * is the task of the derived
+                                     * classes to arrange the points
+                                     * such they split the quad into
+                                     * @p{(m+1)(m+1)} approximately
+                                     * equal-sized subquads.
+                                     *
+                                     * This function is needed by the
+                                     * @p{MappingQ} class. As this
+                                     * function is not needed for Q1
+                                     * mappings, it is not made pure
+                                     * virtual, to avoid the need to
+                                     * overload it.  The default
+                                     * implementation throws an error
+                                     * in any case, however.
+                                     */
+    virtual void
+    get_intermediate_points_on_quad (const typename Triangulation<dim>::quad_iterator &quad,
+                                    vector<Point<dim> > &points) const;
+
                                     /**
                                      * Exception.
                                      */
     DeclException0 (ExcPureVirtualFunctionCalled);
+
+                                    /**
+                                     * Exception.
+                                     */
+    DeclException1 (ExcFunctionNotUseful,
+                   int,
+                   << "The function called is not useful for dim=" << arg1 << ".");
 };
 
 
@@ -202,6 +238,21 @@ class StraightBoundary : public Boundary<dim> {
     get_intermediate_points_on_line (const typename Triangulation<dim>::line_iterator &line,
                                     vector<Point<dim> > &points) const;
 
+                                    /**
+                                     * Gives @p{n=points.size()=m*m}
+                                     * points that splits the
+                                     * p{StraightBoundary} quad into
+                                     * @p{(m+1)(m+1)} subquads of equal
+                                     * size.
+                                     *
+                                     * Refer to the general documentation of
+                                     * this class and the documentation of the
+                                     * base class.
+                                     */
+    virtual void
+    get_intermediate_points_on_quad (const typename Triangulation<dim>::quad_iterator &quad,
+                                    vector<Point<dim> > &points) const;
+
 };
 
 

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.