Grid Edge Concept 
A Grid Edge represents the mathematical concept of an edge  a 1dimensional entity in a Grid.
E is a type which is a model of Grid Edge
e is an object of type E
V is a shorthand for the E::Vertex type
v is an object of type V
g is an object of type E::grid_type
h is an object of type E::edge_handle
NOTE: The types and expression involving
Incidence Iterators are given below for the
case of cellonedge 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)  
cellonedge 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)  
cellonedge 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)  
cellonedge 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 
All operations are amortized constant timeX.
Complex2D::Edge defined in edge2d.h
Grid Grid Element Handle Edge Handle Grid Element Grid Cell Sequence Iterator Incidence Iterator
Grid Edge Concept 