template <typename Accessor> class TriaIterator;
template <typename Accessor> class TriaActiveIterator;
+template <int dim, int spacedim> class Boundary;
+
namespace internal
{
*/
bool at_boundary () const;
+ /**
+ * Return a constant reference to a
+ * boundary object used for this
+ * object. This function is a shortcut to
+ * retrieving the boundary indicator
+ * using boundary_indicator() and then
+ * asking the
+ * Triangulation::get_boundary() function
+ * for the boundary object.
+ */
+ const Boundary<dim,spacedim> & get_boundary () const;
+
/**
* @}
*/
+template <int structdim, int dim, int spacedim>
+const Boundary<dim,spacedim> &
+TriaAccessor<structdim, dim, spacedim>::get_boundary () const
+{
+ Assert (structdim<dim, ExcImpossibleInDim(dim));
+ Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed());
+
+ return this->tria->get_boundary(this->objects()
+ .material_id[this->present_index]);
+}
+
+
+
template <int structdim, int dim, int spacedim>
double
TriaAccessor<structdim, dim, spacedim>::diameter () const
<h3>deal.II</h3>
<ol>
+ <li>
+ <p>
+ New: Instead of asking face or edge iterators for their boundary indicator
+ using TriaAccessor::boundary_indicator() and then the triangulation for
+ the boundary object using Triangulation::get_boundary(), you can now directly
+ ask the iterator for the boundary object using TriaAccessor::get_boundary().
+ <br>
+ (WB 2009/07/31)
+ </p>
+ </li>
+
<li>
<p>
Fixed: The CellAccessor::recursively_set_material_id function did not