void
prevent_distorted_boundary_cells (const Triangulation<1,spacedim> &);
+
template <int dim, int spacedim>
static
void
prevent_distorted_boundary_cells (Triangulation<dim,spacedim> &triangulation)
{
+ // If the codimension is
+ // one, we cannot perform
+ // this check yet.
+ if(spacedim>dim) return;
+
for (typename Triangulation<dim,spacedim>::cell_iterator
cell=triangulation.begin(); cell!=triangulation.end(); ++cell)
if (cell->at_boundary() &&
// $Id$
// Version: $Name$
//
-// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by the deal.II authors
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
}
+template <>
+double TriaAccessor<1,1,2>::extent_in_direction(const unsigned int axis) const
+{
+ Assert (axis == 0, ExcIndexRange (axis, 0, 1));
+
+ return this->diameter();
+}
+
+
template <>
double TriaAccessor<2,2,2>::extent_in_direction(const unsigned int axis) const
{
this->line(lines[axis][1])->diameter());
}
+template <>
+double TriaAccessor<2,2,3>::extent_in_direction(const unsigned int axis) const
+{
+ const unsigned int lines[2][2] = {{2,3}, /// Lines along x-axis, see GeometryInfo
+ {0,1}};/// Lines along y-axis
+
+ Assert (axis < 2, ExcIndexRange (axis, 0, 2));
+
+ return std::max(this->line(lines[axis][0])->diameter(),
+ this->line(lines[axis][1])->diameter());
+}
+
template <>
double TriaAccessor<3,3,3>::extent_in_direction(const unsigned int axis) const