From: wolf Date: Thu, 10 Dec 1998 18:46:38 +0000 (+0000) Subject: Add support for 3D and resurrect an original part of the code which was dropped becau... X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=28c0100bd53a9c60f381e28dc140731d09809495;p=dealii-svn.git Add support for 3D and resurrect an original part of the code which was dropped because egcs produced an internal compiler error over it. git-svn-id: https://svn.dealii.org/trunk@695 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 ebdb8e3e7a..a97a9d4880 100644 --- a/deal.II/deal.II/include/grid/tria_boundary.h +++ b/deal.II/deal.II/include/grid/tria_boundary.h @@ -26,6 +26,9 @@ template <> struct BoundaryHelper<2> { typedef const Point<2> *PointArray[GeometryInfo<2>::vertices_per_face]; }; +template <> struct BoundaryHelper<3> { + typedef const Point<3> *PointArray[GeometryInfo<3>::vertices_per_face]; +}; /** @@ -61,9 +64,17 @@ class Boundary { public: /** * Typedef an array of the needed number - * of old points. + * of old points to compute the new + * middle point of a face. This does not + * make much sense in 1D, so we set the + * array size to a dummy value. */ typedef typename BoundaryHelper::PointArray PointArray; +// this is the way it should be, but egcs throws an internal compiler error +// on this, so we invented the above workaround +// typedef const Point* PointArray[((dim==1) ? +// 1 : +// GeometryInfo::vertices_per_face)]; /** * This function calculates the position