face_iterator
face (const unsigned int i) const;
+ /**
+ * Return the result of the
+ * @p{neighbor_child_on_subface}
+ * function of the base class,
+ * but convert it so that one can
+ * also access the MGDoF data (the
+ * function in the base class
+ * only returns an iterator with
+ * access to the triangulation
+ * data).
+ */
+ TriaIterator<dim,MGDoFCellAccessor<dim> >
+ neighbor_child_on_subface (const unsigned int face_no,
+ const unsigned int subface_no) const;
+
/**
* Exception
*/
#endif
+
+template <int dim>
+TriaIterator<dim,MGDoFCellAccessor<dim> >
+MGDoFCellAccessor<dim>::
+neighbor_child_on_subface (const unsigned int face,
+ const unsigned int subface) const
+{
+ const TriaIterator<dim,CellAccessor<dim> > q
+ = CellAccessor<dim>::neighbor_child_on_subface (face, subface);
+ return TriaIterator<dim,MGDoFCellAccessor<dim> > (this->tria,
+ q->level (),
+ q->index (),
+ this->mg_dof_handler);
+}
+
+
+
+
// explicit instantiations
template
<ol>
<li> <p>
- New: There is now a function <code
- class="member">CellAccessor::neighbor_child_on_subface</code>
+ New: There is now also a function <code
+ class="member">MGDoFCellAccessor::neighbor_child_on_subface</code>
+ that returns the result of the <code
+ class="member">CellAccessor::neighbor_child_on_subface</code>
+ function but converts it so that one can also access MGDoF
+ data.
+ <br>
+ (RH 2003/10/22)
+ </p>
+
+ <li> <p>
+ New: There are now functions <code
+ class="member">CellAccessor::neighbor_child_on_subface</code> and <code
+ class="member">DoFCellAccessor::neighbor_child_on_subface</code>
that should be called instead of using <code
class="member">GeometryInfo::child_cell_on_face</code> in most cases.
<br>