From e93b7ef0aa619262be6c20c2dec4205d18a0b7a9 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 30 Apr 2003 03:40:39 +0000 Subject: [PATCH] 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 --- deal.II/deal.II/include/grid/tria_boundary.h | 18 ++++++++++++ deal.II/deal.II/source/grid/tria_boundary.cc | 30 +++++++++++--------- 2 files changed, 34 insertions(+), 14 deletions(-) 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 -- 2.39.5