template<class FacOnCellIt> class FacetIterator;
The class template FacetIterator implements a Grid Facet Iterator based on cell iteration and local facet iteration. The iteration proceeds by iterating over each facet of each cell; in order to ensure visiting each facet only once, there is established an arbitrary order between the two possible occurences of an interior facet, and the greater one is silently skipped over.
In order to evaluate the comparison, an order must be defined on cells, and neighbor cells must be accessibleX.
Parameter | Description | Default |
FacetOnCellIt | a local facet-on-cell iterator | |
a_grid_type g; a_geometry_type geom(g); // a grid geometry for g typedef grid_types<a_grid_type> gt; grid_function<gt::Facet, double> volume(g); typedef FacetIterator<gt::FacetOnCellIterator> FacetIt; for(FacetIt f(g); ! f.IsDone(); ++f) volume[*f] = geom.volume(*f);