Grid Cell ConceptGrid EntitiesGrid Facet ConceptGrid Face 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


Grid Cell ConceptGrid EntitiesGrid Facet ConceptGrid Face Concept