Prev Up Next
Go backward to Grid Facet Concept
Go up to Grid Entities
Go forward to Grid Cell Concept

Grid Face Concept

Description
A Grid Face represents the mathematical concept of a Face -- a 2-dimensional entity in a Grid. If the grid is 2-dimensional, a Grid Face my coincide with a Grid Cell, in a 3-dimensional grid, it may coincide with a Grid Facet.
Refinement of
Grid Element
Notation
F is a type which is a model of Grid Face.
f is an object of type F
C is a shorthand for the F::Cell type
c is an object of type C
g is an object of type F::grid_type
h is an object of type F::Face_handle
vf is an object of type F::VertexIterator
Associated types

NOTE: The types and expression involving Incidence Iterators are given below for the case of vertex-on-face iteration. Analogous types and expressions can be defined for the other element types.

The tables are to be understood in the following sense:
If a Face defines the incidence iterator over vertices, then the requirements under Optional part apply. Analogous requirements take effect if `vertex' is replaced by another element type.
Name Expression Description
handle type F::face_handle type of the corresponding Face Handle
cell type F::Cell Cell type of the Face, short for F::grid_type::Cell.
Optional part (as example)
vertex-on-face iterator F::VertexIterator type of the corr. VertexOnFaceIterator

Valid Expressions
Name Expression Type requirements return type
handle f.handle()   F::face_handle
first cell c = f.C1()   Cell
second cell c = f.C2()   Cell
Optional part (as example)
vertex-on-face iteration start f.FirstVertex()   F::VertexIterator
number of incident vertices F.NumOfVertices()   int
Expression semantics
Name Expression Precondition Semantics Postcondition
handle h = f.handle(); f is valid shorthand for h = f.TheGrid(). handle(f) f == f.TheGrid(). Face(h)
Optional part (as example)
Vertex-on-Face iteration start vf = f.FirstVertex() f is valid let fi point to the first vertex incident to f vf.TheEdge() == vf.TheAnchor() == f and vf.TheGrid() == f.TheGrid()
number of incident vertices n = f.NumOfVertices() f is valid n is the number of vertices that are incident to f  
Complexity guarantees
All operations are amortized constant timeX.
Refinements
Models
Complex2D::Face defined in cell2d.h (identical to Complex2D::Cell)
Notes
  1. Amortization is understood to involve calling the operations for all Faces of a grid.
See also
Grid   Grid Element Handle   Face Handle  Grid Element   Grid Cell   Sequence Iterator   Incidence Iterator  


Guntram Berti

Prev Up Next