]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Modified signature: only const references.
authorheltai <heltai@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 16 Jan 2014 16:59:03 +0000 (16:59 +0000)
committerheltai <heltai@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 16 Jan 2014 16:59:03 +0000 (16:59 +0000)
git-svn-id: https://svn.dealii.org/branches/branch_manifold_id@32226 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/include/deal.II/grid/manifold.h
deal.II/include/deal.II/grid/manifold_lib.h
deal.II/include/deal.II/grid/tria_boundary_lib.h
deal.II/source/grid/manifold.cc
deal.II/source/grid/tria_boundary_lib.cc

index d088f0e813a50de0ca25192d3d0cbbe8000cf626..318162164f60b79e49ee0e07fa2f5985046ad28f 100644 (file)
@@ -125,7 +125,7 @@ public:
    * exception of type ExcPureFunctionCalled.
    */
   virtual
-  Point<spacedim> project_to_manifold (const Point<spacedim> candidate) const;
+  Point<spacedim> project_to_manifold (const Point<spacedim> &candidate) const;
 
   /**
     * Given a vector of points, return the normals to the Manifold in
@@ -146,7 +146,7 @@ public:
      * manifold is a codimension one manifold.
      */
     virtual
-    Point<spacedim> normal_vector(const Point<spacedim> point) const;
+    Point<spacedim> normal_vector(const Point<spacedim> &point) const;
     
   protected:
 
@@ -222,7 +222,7 @@ public:
    *  this class.
    */
   virtual
-  Point<spacedim> project_to_manifold (const Point<spacedim> candidate) const;
+  Point<spacedim> project_to_manifold (const Point<spacedim> &candidate) const;
 };
 
 
@@ -293,7 +293,7 @@ public:
      * information.
      */
     virtual Point<dim>
-    pull_back(const Point<spacedim> space_point) const = 0;
+    pull_back(const Point<spacedim> &space_point) const = 0;
 
     /**
      * Given a point in the dim dimensianal Euclidean space, this
@@ -304,7 +304,7 @@ public:
      * information.
      */    
     virtual Point<spacedim>
-    push_forward(const Point<dim> chart_point) const = 0;
+    push_forward(const Point<dim> &chart_point) const = 0;
     
 
   private:
index fb57072a8d4b8c8a0cada9b679de0020151fe2c8..fe53dc2f15f9cb778894e69f1717ee11db6b9cb2 100644 (file)
@@ -160,716 +160,6 @@ class CylinderManifold : public FlatManifold<spacedim>
 };
 
 
-//  
-//  
-//  
-//  /**
-//   * Boundary object for the hull of a (truncated) cone with two
-//   * different radii at the two ends. If one radius is chosen to be 0
-//   * the object describes the boundary of a cone. In three dimensions,
-//   * points are projected on an arbitrarily oriented (truncated) cone
-//   * described by the two endpoints and the corresponding radii. Similar
-//   * to HyperBallBoundary, new points are projected by dividing the
-//   * straight line between the old two points and adjusting the radius
-//   * from the axis.
-//   *
-//   * This class is derived from StraightBoundary rather than from
-//   * Boundary, which would seem natural, since this way we can use the
-//   * StraightBoundary::in_between() function.
-//   *
-//   * As an example of use, consider the following code snippet:
-//   * @code
-//   *  Triangulation<dim> triangulation;
-//   *  GridGenerator::truncated_cone (triangulation);
-//   *  Point<dim> p1, p2;
-//   *  p1[0] = -1;
-//   *  p2[0] = 1;
-//   *  const ConeBoundary<dim> boundary (1, 0.5, p1, p2);
-//   *  triangulation.set_boundary (0, boundary);
-//   *  triangulation.refine_global (2);
-//   * @endcode
-//   * This will produce the following meshes after the two
-//   * refinements we perform, in 2d and 3d, respectively:
-//   *
-//   * @image html cone_2d.png
-//   * @image html cone_3d.png
-//   *
-//   * @author Markus B&uuml;rg, 2009
-//   */
-//  template <int dim>
-//  class ConeBoundary : public StraightBoundary<dim>
-//  {
-//  public:
-//    /**
-//     * Constructor. Here the boundary
-//     * object is constructed. The
-//     * points <tt>x_0</tt> and
-//     * <tt>x_1</tt> describe the
-//     * starting and ending points of
-//     * the axis of the (truncated)
-//     * cone. <tt>radius_0</tt>
-//     * denotes the radius
-//     * corresponding to <tt>x_0</tt>
-//     * and <tt>radius_1</tt> the one
-//     * corresponding to <tt>x_1</tt>.
-//     */
-//    ConeBoundary (const double radius_0,
-//                  const double radius_1,
-//                  const Point<dim> x_0,
-//                  const Point<dim> x_1);
-//  
-//    /**
-//     * Return the radius of the
-//     * (truncated) cone at given point
-//     * <tt>x</tt> on the axis.
-//     */
-//    double get_radius (const Point<dim> x) const;
-//  
-//    /**
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     */
-//    virtual
-//    Point<dim>
-//    get_new_point_on_line (const typename Triangulation<dim>::line_iterator &line) const;
-//  
-//    /**
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     */
-//    virtual
-//    Point<dim>
-//    get_new_point_on_quad (const typename Triangulation<dim>::quad_iterator &quad) const;
-//  
-//    /**
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     *
-//     * Calls @p
-//     * get_intermediate_points_between_points.
-//     */
-//    virtual
-//    void
-//    get_intermediate_points_on_line (const typename Triangulation<dim>::line_iterator &line,
-//                                     std::vector<Point<dim> > &points) const;
-//  
-//    /**
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     *
-//     * Only implemented for
-//     * <tt>dim=3</tt> and for
-//     * <tt>points.size()==1</tt>.
-//     */
-//    virtual
-//    void
-//    get_intermediate_points_on_quad (const typename Triangulation<dim>::quad_iterator &quad,
-//                                     std::vector<Point<dim> > &points) const;
-//  
-//    /**
-//     * Compute the normals to the
-//     * boundary at the vertices of
-//     * the given face.
-//     *
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     */
-//    virtual
-//    void
-//    get_normals_at_vertices (const typename Triangulation<dim>::face_iterator &face,
-//                             typename Boundary<dim>::FaceVertexNormals &face_vertex_normals) const;
-//  
-//  protected:
-//    /**
-//     * First radius of the (truncated)
-//     * cone.
-//     */
-//    const double radius_0;
-//  
-//    /**
-//     * Second radius of the (truncated)
-//     * cone.
-//     */
-//    const double radius_1;
-//  
-//    /**
-//     * Starting point of the axis.
-//     */
-//    const Point<dim> x_0;
-//  
-//    /**
-//     * Ending point of the axis.
-//     */
-//    const Point<dim> x_1;
-//  
-//  private:
-//    /**
-//     * Called by @p
-//     * get_intermediate_points_on_line
-//     * and by @p
-//     * get_intermediate_points_on_quad.
-//     *
-//     * Refer to the general
-//     * documentation of @p
-//     * get_intermediate_points_on_line
-//     * in the documentation of the
-//     * base class.
-//     */
-//    void
-//    get_intermediate_points_between_points (const Point<dim> &p0,
-//                                            const Point<dim> &p1,
-//                                            std::vector<Point<dim> > &points) const;
-//  };
-//  
-//  
-//  
-//  /**
-//   *   Specialization of Boundary<dim>, which places the new point on
-//   *   the boundary of a ball in arbitrary dimension. It works by projecting
-//   *   the point in the middle of the old points onto the ball. The middle is
-//   *   defined as the arithmetic mean of the points.
-//   *
-//   *   The center of the ball and its radius may be given upon construction of
-//   *   an object of this type. They default to the origin and a radius of 1.0.
-//   *
-//   *   This class is derived from StraightBoundary rather than from
-//   *   Boundary, which would seem natural, since this way we can use the
-//   *   StraightBoundary::in_between() function.
-//   *
-//   *   @ingroup boundary
-//   *
-//   *   @author Wolfgang Bangerth, 1998, Ralf Hartmann, 2001
-//   */
-//  template <int dim, int spacedim=dim>
-//  class HyperBallBoundary : public StraightBoundary<dim,spacedim>
-//  {
-//  public:
-//    /**
-//     * Constructor
-//     */
-//    HyperBallBoundary (const Point<spacedim> p      = Point<spacedim>(),
-//                       const double     radius = 1.0);
-//  
-//    /**
-//     * Refer to the general documentation of
-//     * this class and the documentation of the
-//     * base class.
-//     */
-//    virtual
-//    Point<spacedim>
-//    get_new_point_on_line (const typename Triangulation<dim,spacedim>::line_iterator &line) const;
-//  
-//    /**
-//     * Refer to the general documentation of
-//     * this class and the documentation of the
-//     * base class.
-//     */
-//    virtual
-//    Point<spacedim>
-//    get_new_point_on_quad (const typename Triangulation<dim,spacedim>::quad_iterator &quad) const;
-//  
-//    /**
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     *
-//     * Calls
-//     * @p get_intermediate_points_between_points.
-//     */
-//    virtual
-//    void
-//    get_intermediate_points_on_line (const typename Triangulation<dim,spacedim>::line_iterator &line,
-//                                     std::vector<Point<spacedim> > &points) const;
-//  
-//    /**
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     *
-//     * Only implemented for <tt>dim=3</tt>
-//     * and for <tt>points.size()==1</tt>.
-//     */
-//    virtual
-//    void
-//    get_intermediate_points_on_quad (const typename Triangulation<dim,spacedim>::quad_iterator &quad,
-//                                     std::vector<Point<spacedim> > &points) const;
-//  
-//    /**
-//     * Implementation of the function
-//     * declared in the base class.
-//     *
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     */
-//    virtual
-//    Tensor<1,spacedim>
-//    normal_vector (const typename Triangulation<dim,spacedim>::face_iterator &face,
-//                   const Point<spacedim> &p) const;
-//  
-//    /**
-//     * Compute the normals to the
-//     * boundary at the vertices of
-//     * the given face.
-//     *
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     */
-//    virtual
-//    void
-//    get_normals_at_vertices (const typename Triangulation<dim,spacedim>::face_iterator &face,
-//                             typename Boundary<dim,spacedim>::FaceVertexNormals &face_vertex_normals) const;
-//  
-//    /**
-//     * Return the center of the ball.
-//     */
-//    Point<spacedim>
-//    get_center () const;
-//  
-//    /**
-//     * Return the radius of the ball.
-//     */
-//    double
-//    get_radius () const;
-//  
-//    /**
-//     * Exception. Thrown by the
-//     * @p get_radius if the
-//     * @p compute_radius_automatically,
-//     * see below, flag is set true.
-//     */
-//    DeclException0 (ExcRadiusNotSet);
-//  
-//  
-//  protected:
-//  
-//    /**
-//     * Center point of the hyperball.
-//     */
-//    const Point<spacedim> center;
-//  
-//    /**
-//     * Radius of the hyperball.
-//     */
-//    const double radius;
-//  
-//    /**
-//     * This flag is @p false for
-//     * this class and for all derived
-//     * classes that set the radius by
-//     * the constructor. For example
-//     * this flag is @p false for the
-//     * HalfHyperBallBoundary
-//     * class but it is @p true for
-//     * the HyperShellBoundary
-//     * class, for example.  The
-//     * latter class doesn't get its
-//     * radii by the constructor but
-//     * need to compute the radii
-//     * automatically each time one of
-//     * the virtual functions is
-//     * called.
-//     */
-//    bool compute_radius_automatically;
-//  
-//  private:
-//  
-//    /**
-//     * Called by
-//     * @p get_intermediate_points_on_line
-//     * and by
-//     * @p get_intermediate_points_on_quad.
-//     *
-//     * Refer to the general
-//     * documentation of
-//     * @p get_intermediate_points_on_line
-//     * in the documentation of the
-//     * base class.
-//     */
-//    void get_intermediate_points_between_points (const Point<spacedim> &p0, const Point<spacedim> &p1,
-//                                                 std::vector<Point<spacedim> > &points) const;
-//  };
-//  
-//  
-//  
-//  /**
-//   * Variant of HyperBallBoundary which denotes a half hyper ball
-//   * where the first coordinate is restricted to the range $x>=0$ (or
-//   * $x>=center(0)$). In two dimensions, this equals the right half
-//   * circle, in three space dimensions it is a half ball. This class
-//   * might be useful for computations with rotational symmetry, where
-//   * one dimension is the radius from the axis of rotation.
-//   *
-//   * @ingroup boundary
-//   *
-//   * @author Wolfgang Bangerth, 1999, 2001
-//   */
-//  template <int dim>
-//  class HalfHyperBallBoundary : public HyperBallBoundary<dim>
-//  {
-//  public:
-//    /**
-//     * Constructor
-//     */
-//    HalfHyperBallBoundary (const Point<dim> p      = Point<dim>(),
-//                           const double     radius = 1.0);
-//  
-//    /**
-//     * Check if on the line <tt>x==0</tt>,
-//     * otherwise pass to the base
-//     * class.
-//     */
-//    virtual Point<dim>
-//    get_new_point_on_line (const typename Triangulation<dim>::line_iterator &line) const;
-//  
-//    /**
-//     * Check if on the line <tt>x==0</tt>,
-//     * otherwise pass to the base
-//     * class.
-//     */
-//    virtual Point<dim>
-//    get_new_point_on_quad (const typename Triangulation<dim>::quad_iterator &quad) const;
-//  
-//    /**
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     *
-//     * Calls
-//     * @p get_intermediate_points_between_points.
-//     */
-//    virtual void
-//    get_intermediate_points_on_line (const typename Triangulation<dim>::line_iterator &line,
-//                                     std::vector<Point<dim> > &points) const;
-//  
-//    /**
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     *
-//     * Only implemented for <tt>dim=3</tt>
-//     * and for <tt>points.size()==1</tt>.
-//     */
-//    virtual void
-//    get_intermediate_points_on_quad (const typename Triangulation<dim>::quad_iterator &quad,
-//                                     std::vector<Point<dim> > &points) const;
-//  
-//    /**
-//     * Compute the normals to the
-//     * boundary at the vertices of
-//     * the given face.
-//     *
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     */
-//    virtual void
-//    get_normals_at_vertices (const typename Triangulation<dim>::face_iterator &face,
-//                             typename Boundary<dim>::FaceVertexNormals &face_vertex_normals) const;
-//  };
-//  
-//  
-//  
-//  /**
-//   * Class describing the boundaries of a hyper shell. Only the center
-//   * of the two spheres needs to be given, the radii of inner and outer
-//   * sphere are computed automatically upon calling one of the virtual
-//   * functions.
-//   *
-//   * @ingroup boundary
-//   *
-//   * @author Wolfgang Bangerth, 1999
-//   */
-//  template <int dim>
-//  class HyperShellBoundary : public HyperBallBoundary<dim>
-//  {
-//  public:
-//    /**
-//     * Constructor. The center of the
-//     * spheres defaults to the
-//     * origin.
-//     *
-//     * Calls the constructor of its
-//     * base @p HyperBallBoundary
-//     * class with a dummy radius as
-//     * argument. This radius will be
-//     * ignored
-//     */
-//    HyperShellBoundary (const Point<dim> &center = Point<dim>());
-//  };
-//  
-//  
-//  
-//  /**
-//   * Variant of HyperShellBoundary which denotes a half hyper shell
-//   * where the first coordinate is restricted to the range $x>=0$ (or
-//   * $x>=center(0)$). In two dimensions, this equals the right half arc,
-//   * in three space dimensions it is a half shell. This class might be
-//   * useful for computations with rotational symmetry, where one
-//   * dimension is the radius from the axis of rotation.
-//   *
-//   * @ingroup boundary
-//   *
-//   * @author Wolfgang Bangerth, 2000, 2009
-//   */
-//  template <int dim>
-//  class HalfHyperShellBoundary : public HyperShellBoundary<dim>
-//  {
-//  public:
-//    /**
-//     * Constructor. The center of the
-//     * spheres defaults to the
-//     * origin.
-//     *
-//     * If the radii are not specified, the
-//     * class tries to infer them from the
-//     * location of points on the
-//     * boundary. This works in 2d, but not in
-//     * 3d. As a consequence, in 3d these
-//     * radii must be given.
-//     */
-//    HalfHyperShellBoundary (const Point<dim> &center = Point<dim>(),
-//                            const double inner_radius = -1,
-//                            const double outer_radius = -1);
-//  
-//    /**
-//     * Construct a new point on a line.
-//     */
-//    virtual Point<dim>
-//    get_new_point_on_line (const typename Triangulation<dim>::line_iterator &line) const;
-//  
-//    /**
-//     * Construct a new point on a quad.
-//     */
-//    virtual Point<dim>
-//    get_new_point_on_quad (const typename Triangulation<dim>::quad_iterator &quad) const;
-//  
-//    /**
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     *
-//     * Calls
-//     * @p get_intermediate_points_between_points.
-//     */
-//    virtual void
-//    get_intermediate_points_on_line (const typename Triangulation<dim>::line_iterator &line,
-//                                     std::vector<Point<dim> > &points) const;
-//  
-//    /**
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     *
-//     * Only implemented for <tt>dim=3</tt>
-//     * and for <tt>points.size()==1</tt>.
-//     */
-//    virtual void
-//    get_intermediate_points_on_quad (const typename Triangulation<dim>::quad_iterator &quad,
-//                                     std::vector<Point<dim> > &points) const;
-//  
-//    /**
-//     * Compute the normals to the
-//     * boundary at the vertices of
-//     * the given face.
-//     *
-//     * Refer to the general
-//     * documentation of this class
-//     * and the documentation of the
-//     * base class.
-//     */
-//    virtual void
-//    get_normals_at_vertices (const typename Triangulation<dim>::face_iterator &face,
-//                             typename Boundary<dim>::FaceVertexNormals &face_vertex_normals) const;
-//  
-//  private:
-//    /**
-//     * Inner and outer radii of the shell.
-//     */
-//    const double inner_radius;
-//    const double outer_radius;
-//  };
-//  
-//  
-//  /**
-//   * Class describing the boundary of the torus. The axis of the torus is the
-//   * $y$-axis while the plane of the torus is the $x$-$z$ plane. A torus of this
-//   * kind can be generated by GridGenerator::torus.
-//   *
-//   * This class is only implemented for
-//   * <tt>dim=2</tt>,<tt>spacedim=3</tt>, that is, just the surface.
-//   */
-//  template <int dim, int spacedim>
-//  class TorusBoundary : public Boundary<dim,spacedim>
-//  {
-//  public:
-//    /**
-//     * Constructor.<tt>R</tt> has to be
-//     * greater than <tt>r</tt>.
-//     */
-//    TorusBoundary (const double R, const double r);
-//  
-//  //Boundary Refinenment  Functions
-//    /**
-//     * Construct a new point on a line.
-//     */
-//    virtual Point<spacedim>
-//    get_new_point_on_line (const typename Triangulation<dim,spacedim>::line_iterator &line) const;
-//  
-//    /**
-//     * Construct a new point on a quad.
-//     */
-//    virtual Point<spacedim>
-//    get_new_point_on_quad (const typename Triangulation<dim,spacedim>::quad_iterator &quad) const;
-//  
-//    /**
-//     * Construct a new points on a line.
-//     */
-//    virtual void   get_intermediate_points_on_line (
-//      const typename Triangulation< dim, spacedim >::line_iterator   &line,
-//      std::vector< Point< spacedim > >         &points) const ;
-//  
-//    /**
-//     * Construct a new points on a quad.
-//     */
-//    virtual void  get_intermediate_points_on_quad (
-//      const typename Triangulation< dim, spacedim >::quad_iterator &quad,
-//      std::vector< Point< spacedim > >         &points ) const ;
-//  
-//    /**
-//     * Get the normal from cartesian
-//     * coordinates. This normal does not have
-//     * unit length.
-//     */
-//    virtual void get_normals_at_vertices (
-//      const typename Triangulation< dim, spacedim >::face_iterator &face,
-//      typename Boundary<dim,spacedim>::FaceVertexNormals &face_vertex_normals) const ;
-//  
-//  private:
-//    //Handy functions
-//    /**
-//     * Function that corrects the value and
-//     * sign of angle, that is, given
-//     * <tt>angle=tan(abs(y/x))</tt>; if <tt>
-//     * (y > 0) && (x < 0) </tt> then
-//     * <tt>correct_angle = Pi - angle</tt>,
-//     * etc.
-//     */
-//  
-//    double           get_correct_angle(const double angle,const double x,const double y) const;
-//  
-//    /**
-//     * Get the cartesian coordinates of the
-//     * Torus, i.e., from <tt>(theta,phi)</tt>
-//     * to <tt>(x,y,z)</tt>.
-//     */
-//    Point<spacedim>  get_real_coord(const Point<dim> &surfP) const ;
-//  
-//    /**
-//     * Get the surface coordinates of the
-//     * Torus, i.e., from <tt>(x,y,z)</tt> to
-//     * <tt>(theta,phi)</tt>.
-//     */
-//    Point<dim>       get_surf_coord(const Point<spacedim> &p) const ;
-//  
-//    /**
-//     * Get the normal from surface
-//     * coordinates. This normal does not have
-//     * unit length.
-//     */
-//    Point<spacedim>  get_surf_norm_from_sp(const Point<dim> &surfP)      const ;
-//  
-//    /**
-//     * Get the normal from cartesian
-//     * coordinates. This normal does not have
-//     * unit length.
-//     */
-//    Point<spacedim>  get_surf_norm(const Point<spacedim> &p) const ;
-//  
-//    /**
-//     * Inner and outer radii of the shell.
-//     */
-//    const double R;
-//    const double r;
-//  };
-//  
-//  
-//  
-//  /* -------------- declaration of explicit specializations ------------- */
-//  
-//  #ifndef DOXYGEN
-//  
-//  template <>
-//  Point<1>
-//  HyperBallBoundary<1>::
-//  get_new_point_on_quad (const Triangulation<1>::quad_iterator &) const;
-//  template <>
-//  void
-//  HyperBallBoundary<1>::get_intermediate_points_on_line (
-//    const Triangulation<1>::line_iterator &,
-//    std::vector<Point<1> > &) const;
-//  template <>
-//  void
-//  HyperBallBoundary<3>::get_intermediate_points_on_quad (
-//    const Triangulation<3>::quad_iterator &quad,
-//    std::vector<Point<3> > &points) const;
-//  template <>
-//  void
-//  HyperBallBoundary<1>::
-//  get_normals_at_vertices (const Triangulation<1,1>::face_iterator &,
-//                           Boundary<1,1>::FaceVertexNormals &) const;
-//  template <>
-//  Point<1>
-//  HalfHyperBallBoundary<1>::
-//  get_new_point_on_quad (const Triangulation<1>::quad_iterator &) const;
-//  template <>
-//  void
-//  HalfHyperBallBoundary<1>::
-//  get_intermediate_points_on_quad (const Triangulation<1>::quad_iterator &,
-//                                   std::vector<Point<1> > &) const;
-//  template <>
-//  void
-//  HalfHyperBallBoundary<1>::
-//  get_normals_at_vertices (const Triangulation<1,1>::face_iterator &,
-//                           Boundary<1,1>::FaceVertexNormals &) const;
-//  template <>
-//  Point<1>
-//  HalfHyperShellBoundary<1>::
-//  get_new_point_on_quad (const Triangulation<1>::quad_iterator &) const;
-//  template <>
-//  void
-//  HalfHyperShellBoundary<1>::
-//  get_intermediate_points_on_quad (const Triangulation<1>::quad_iterator &,
-//                                   std::vector<Point<1> > &) const;
-//  template <>
-//  void
-//  HalfHyperShellBoundary<1>::
-//  get_normals_at_vertices (const Triangulation<1,1>::face_iterator &,
-//                           Boundary<1,1>::FaceVertexNormals &) const;
-//  
-//  
-//  #endif // DOXYGEN
-//  
 DEAL_II_NAMESPACE_CLOSE
 
 #endif
index 17890b2f41e5beaf889eb3f016402190bb009c87..971558bcef9b0612d1950b79a19ec876bd167e7d 100644 (file)
@@ -78,13 +78,13 @@ public:
    * boundary to function properly.
    */
     virtual Point<spacedim>
-    project_to_manifold (const Point<spacedim> candidate) const;
+    project_to_manifold (const Point<spacedim> &candidate) const;
 
   /**
    * Compute the normal to the surface. 
    */
     virtual Point<spacedim>
-    normal_vector (const Point<spacedim> point) const;
+    normal_vector (const Point<spacedim> &point) const;
     
   /**
    * Return the radius of the cylinder.
@@ -186,7 +186,7 @@ public:
    * boundary to function properly.
    */
     virtual Point<dim>
-    project_to_manifold (const Point<dim> candidate) const;
+    project_to_manifold (const Point<dim> &candidate) const;
 
 
   /**
@@ -197,7 +197,7 @@ public:
    */
   virtual
   Point<dim> 
-  normal_vector (const Point<dim> point) const;
+  normal_vector (const Point<dim> &point) const;
 
 protected:
   /**
@@ -266,7 +266,7 @@ public:
    */
   virtual
   Point<spacedim>
-  normal_vector (const Point<spacedim> p) const;
+  normal_vector (const Point<spacedim> &p) const;
 
 
   /**
@@ -357,7 +357,7 @@ public:
    */
   virtual
   Point<dim>
-  normal_vector (const Point<dim> p) const;
+  normal_vector (const Point<dim> &p) const;
 };
 
 
@@ -425,7 +425,7 @@ public:
    * Compute the normal to the surface. 
    */
     virtual Point<dim>
-    normal_vector (const Point<dim> point) const;
+    normal_vector (const Point<dim> &point) const;
     
 private:
   /**
@@ -463,7 +463,7 @@ public:
    * information.
    */
     virtual Point<dim>
-    pull_back(const Point<spacedim> space_point) const;
+    pull_back(const Point<spacedim> &space_point) const;
     
     /**
      * Given a point in the dim dimensianal Euclidean space, this
@@ -472,13 +472,13 @@ public:
      * i.e., from <tt>(theta,phi)</tt> to <tt>(x,y,z)</tt>.
      */
     virtual Point<spacedim>
-    push_forward(const Point<dim> chart_point) const;
+    push_forward(const Point<dim> &chart_point) const;
 
   /**
    * Get the normal from cartesian coordinates. This normal does not
    * have unit length.
    */
-  Point<spacedim>  normal_vector(const Point<spacedim> p) const;
+  Point<spacedim>  normal_vector(const Point<spacedim> &p) const;
 
 private:
   double           get_correct_angle(const double angle,const double x,const double y) const;
index fb02d1bb2098e19100658bf4eb656a63c354ada5..01bc5a34f2004aacf3051182d2e5aebe502a3a30 100644 (file)
@@ -34,7 +34,7 @@ Manifold<spacedim>::~Manifold ()
 
 template <int spacedim>
 Point<spacedim>
-Manifold<spacedim>::project_to_manifold (const Point<spacedim> candidate) const 
+Manifold<spacedim>::project_to_manifold (const Point<spacedim> &candidate) const 
 {
   Assert (false, ExcPureFunctionCalled());
   return candidate;
@@ -52,7 +52,7 @@ Manifold<spacedim>::get_normals_at_points(std::vector<Point<spacedim> > &normals
 
 template <int spacedim>
 Point<spacedim>
-Manifold<spacedim>::normal_vector(const Point<spacedim> point) const
+Manifold<spacedim>::normal_vector(const Point<spacedim> &point) const
 {
   Assert (false, ExcPureFunctionCalled());
   return point;
@@ -177,7 +177,7 @@ get_new_point (const std::vector<Point<spacedim> > &surrounding_points,
 
 template <int spacedim>
 Point<spacedim> 
-FlatManifold<spacedim>::project_to_manifold (const Point<spacedim> candidate) const 
+FlatManifold<spacedim>::project_to_manifold (const Point<spacedim> &candidate) const 
 {
   return candidate;
 }
index 025a58b879db8e2d266ac76e382e96b7b1d90b55..42c35d8b0c4517a14e5590ae01956da2245ca966 100644 (file)
@@ -61,7 +61,7 @@ CylinderBoundary<dim,spacedim>::get_axis_vector (const unsigned int axis)
 template <int dim, int spacedim>
 Point<spacedim>
 CylinderBoundary<dim,spacedim>::
-project_to_manifold (const Point<spacedim> middle) const
+project_to_manifold (const Point<spacedim> &middle) const
 {
   // The temptative point is computed from the get_new_point function
   // of the FlatManifold class, which in turns calls this class
@@ -85,7 +85,7 @@ project_to_manifold (const Point<spacedim> middle) const
 template <int dim, int spacedim>
 Point<spacedim>
 CylinderBoundary<dim,spacedim>::
-normal_vector (const Point<spacedim> vertex) const
+normal_vector (const Point<spacedim> &vertex) const
 {
   const Point<spacedim> vector_from_axis = (vertex-point_on_axis) -
                                           ((vertex-point_on_axis) * direction) * direction;
@@ -134,7 +134,7 @@ double ConeBoundary<dim>::get_radius (Point<dim> x) const
 template<int dim>
 Point<dim>
 ConeBoundary<dim>::
-project_to_manifold (const Point<dim> middle) const
+project_to_manifold (const Point<dim> &middle) const
 {
   const Point<dim> axis = x_1 - x_0;
   // To project it on the boundary of the cone we first compute the orthogonal
@@ -149,7 +149,7 @@ project_to_manifold (const Point<dim> middle) const
 template<int dim>
 Point<dim>
 ConeBoundary<dim>::
-normal_vector (const Point<dim> vertex) const 
+normal_vector (const Point<dim> &vertex) const 
 {
   const Point<dim> axis = x_1 - x_0;
 
@@ -204,7 +204,7 @@ HyperBallBoundary<dim,spacedim>::get_new_point(const std::vector<Point<spacedim>
 template <int dim, int spacedim>
 Point<spacedim>
 HyperBallBoundary<dim,spacedim>::
-normal_vector (const Point<spacedim> vertex) const
+normal_vector (const Point<spacedim> &vertex) const
 {
   return vertex-center;
 }
@@ -261,7 +261,7 @@ HalfHyperBallBoundary<dim>::get_new_point(const std::vector<Point<dim> > &surrou
 template <int dim>
 Point<dim>
 HalfHyperBallBoundary<dim>::
-normal_vector (const Point<dim> vertex) const
+normal_vector (const Point<dim> &vertex) const
 {
   // Check whether the point is inside the flat part, or outside. If
   // it is both at distance R from the center and with zero first
@@ -322,7 +322,7 @@ HalfHyperShellBoundary<dim>::HalfHyperShellBoundary (const Point<dim> &center,
 template <int dim>
 Point<dim>
 HalfHyperShellBoundary<dim>::
-normal_vector (const Point<dim> vertex) const
+normal_vector (const Point<dim> &vertex) const
 {
   if (vertex(0) == this->center(0)) 
     {
@@ -386,7 +386,7 @@ TorusBoundary<dim,spacedim>::get_correct_angle(const double angle,
 
 template <>
 Point<3>
-TorusBoundary<2,3>::push_forward (const Point<2> surfP) const
+TorusBoundary<2,3>::push_forward (const Point<2> &surfP) const
 {
   const double theta=surfP(0);
   const double phi=surfP(1);
@@ -400,7 +400,7 @@ TorusBoundary<2,3>::push_forward (const Point<2> surfP) const
 
 template <>
 Point<2>
-TorusBoundary<2,3>::pull_back(const Point<3> p) const
+TorusBoundary<2,3>::pull_back(const Point<3> &p) const
 {
   const double phi=std::asin(std::abs(p(1))/r);
   const double Rr_2=p(0)*p(0)+p(2)*p(2);
@@ -449,7 +449,7 @@ TorusBoundary<2,3>:: get_surf_norm_from_sp(const Point<2> &surfP) const
 //Normal field without unit length
 template <>
 Point<3>
-TorusBoundary<2,3>::normal_vector(const Point<3> p) const
+TorusBoundary<2,3>::normal_vector(const Point<3> &p) const
 {
 
   Point<2> surfP=pull_back(p);

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.