From: wolf Date: Wed, 30 Apr 2003 03:40:39 +0000 (+0000) Subject: Fix a couple of things that didn't work with icc7.1 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd04af002f7f1116b99e377564f1013ff3663aa3;p=dealii-svn.git Fix a couple of things that didn't work with icc7.1 git-svn-id: https://svn.dealii.org/trunk@7497 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/grid/tria_boundary.h b/deal.II/deal.II/include/grid/tria_boundary.h index 442f24dfc1..e835d078ca 100644 --- a/deal.II/deal.II/include/grid/tria_boundary.h +++ b/deal.II/deal.II/include/grid/tria_boundary.h @@ -386,6 +386,24 @@ StraightBoundary<3>:: get_normals_at_vertices (const Triangulation<3>::face_iterator &face, Boundary<3>::FaceVertexNormals &face_vertex_normals) const; +template <> +Point<3> +StraightBoundary<3>:: +get_new_point_on_quad (const Triangulation<3>::quad_iterator &quad) const; + +template <> +void +StraightBoundary<1>:: +get_intermediate_points_on_line (const Triangulation<1>::line_iterator &, + std::vector > &) const; + +template <> +void +StraightBoundary<3>:: +get_intermediate_points_on_quad (const Triangulation<3>::quad_iterator &quad, + std::vector > &points) const; + + /*---------------------------- boundary-function.h ---------------------------*/ diff --git a/deal.II/deal.II/source/grid/tria_boundary.cc b/deal.II/deal.II/source/grid/tria_boundary.cc index 9cb4c0ba04..48e306705c 100644 --- a/deal.II/deal.II/source/grid/tria_boundary.cc +++ b/deal.II/deal.II/source/grid/tria_boundary.cc @@ -104,10 +104,10 @@ StraightBoundary::get_new_point_on_quad (const typename Triangulation: #else -template -Point -StraightBoundary:: -get_new_point_on_quad (const typename Triangulation::quad_iterator &quad) const +template <> +Point<3> +StraightBoundary<3>:: +get_new_point_on_quad (const Triangulation<3>::quad_iterator &quad) const { return (quad->vertex(0) + quad->vertex(1) + quad->vertex(2) + quad->vertex(3) + @@ -120,15 +120,15 @@ get_new_point_on_quad (const typename Triangulation::quad_iterator &quad) c #endif -#if deal_II_dimension < 2 +#if deal_II_dimension == 1 -template +template <> void -StraightBoundary:: -get_intermediate_points_on_line (const typename Triangulation::line_iterator &, - std::vector > &) const +StraightBoundary<1>:: +get_intermediate_points_on_line (const Triangulation<1>::line_iterator &, + std::vector > &) const { - Assert(false, typename Boundary::ExcFunctionNotUseful(dim)); + Assert(false, Boundary<1>::ExcFunctionNotUseful(1)); } @@ -171,12 +171,14 @@ get_intermediate_points_on_quad (const typename Triangulation::quad_iterato #else -template +template <> void -StraightBoundary:: -get_intermediate_points_on_quad (const typename Triangulation::quad_iterator &quad, - std::vector > &points) const +StraightBoundary<3>:: +get_intermediate_points_on_quad (const Triangulation<3>::quad_iterator &quad, + std::vector > &points) const { + const unsigned int dim = 3; + const unsigned int n=points.size(), m=static_cast(std::sqrt(static_cast(n))); // is n a square number