this->present_cell.reset
(new typename FEValuesBase<dim>::template
CellIterator<typename DoFHandler<dim>::cell_iterator> (cell));
-
- // set the present face index
- this->present_face_index=cell->face_index(face_no);
// this was the part of the work
// that is dependent on the actual
(new typename FEValuesBase<dim>::template
CellIterator<typename hp::DoFHandler<dim>::cell_iterator> (cell));
- // set the present face index
- this->present_face_index=cell->face_index(face_no);
-
// this was the part of the work
// that is dependent on the actual
// data type of the iterator. now
(new typename FEValuesBase<dim>::template
CellIterator<typename MGDoFHandler<dim>::cell_iterator> (cell));
- // set the present face index
- this->present_face_index=cell->face_index(face_no);
-
// this was the part of the work
// that is dependent on the actual
// data type of the iterator. now
this->present_cell.reset
(new typename FEValuesBase<dim>::TriaCellIterator (cell));
- // set the present face index
- this->present_face_index=cell->face_index(face_no);
-
// this was the part of the work
// that is dependent on the actual
// data type of the iterator. now
template <int dim>
void FEFaceValues<dim>::do_reinit (const unsigned int face_no)
{
+ // first of all, set the
+ // present_face_index (if
+ // available)
+ const typename Triangulation<dim>::cell_iterator cell=*this->present_cell;
+ this->present_face_index=cell->face_index(face_no);
+
this->get_mapping().fill_fe_face_values(*this->present_cell, face_no,
this->quadrature,
*this->mapping_data,