NOTE: The types and expression involving
Incidence Iterators are given below for the
case of cell-on-edge iteration.
Analogous types and expressions can be defined for the other element types,
like edge, facet, or cell.
The tables are to be understood in the following sense:
If a edge defines the incidence iterator over cells,
then the requirements under Optional part apply.
Analogous requirements take effect if `cell' is replaced by another element type.
Name | Expression | Description |
handle type | E::edge_handle | type of the corresponding Edge Handle |
vertex type |
E::Vertex |
Vertex type of the edge,
short for E::grid_type::Vertex .
|
Optional part (as example) | ||
cell-on-edge iterator | E::CellIterator | type of the corr. CellOnEdgeIterator |
Name | Expression | Type requirements | return type |
handle | e.handle() | E::edge_handle | |
first vertex |
v = e.V1() | Vertex | |
second vertex |
v = e.V2() | Vertex | |
Optional part (as example) | |||
cell-on-edge iteration start | e.FirstCell() | E::CellIterator | |
number of incident cells | E.NumOfCells() | int | |
Name | Expression | Precondition | Semantics | Postcondition |
handle | h = e.handle(); | e is valid | shorthand for h = e.TheGrid(). handle(e) | e == e.TheGrid(). edge(h) |
Optional part (as example) | ||||
cell-on-edge iteration start | ci = e.FirstCell() | e is valid | let ci point to the first cell incident to e | ci.TheEdge() == ci.TheAnchor() == e and ci.TheGrid() == e.TheGrid() |
number of incident cells | n = e.NumOfCells() | e is valid | n is the number of cells that are incident to e | |