Grid Face ConceptGrid EntitiesGrid Edge ConceptGrid Facet Concept

Grid Facet Concept


A Grid Facet represents the mathematical concept of a facet -- a 1-codimensional entity (d-1 dimensional) in a (d-dimensional) Grid.

Refinement of

Grid Element


F is a type which is a model of Grid Facet.
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::facet_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-facet 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 facet 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.


Expression Description
handle type F::facet_handle type of the corresponding Facet Handle
cell type F::Cell Cell type of the facet, short for F::grid_type::Cell.
Optional part (as example)
vertex-on-facet iterator F::VertexIterator type of the corr. VertexOnFacetIterator

Valid Expressions


Expression Type requirements return type
handle f.handle()   F::facet_handle
first cell c = f.C1()   Cell
second cell c = f.C2()   Cell
Optional part (as example)
vertex-on-facet iteration start f.FirstVertex()   F::VertexIterator
number of incident vertices F.NumOfVertices()   int

Expression semantics


Expression Precondition Semantics Postcondition
handle h = f.handle(); f is valid shorthand for h = f.TheGrid(). handle(f) f == f.TheGrid(). facet(h)
Optional part (as example)
Vertex-on-facet 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.


Complex2D::Facet defined in edge2d.h (identical to Complex2D::Facet)

  1. Amortization is understood to involve calling the operations for all facets of a grid.
See also

Grid   Grid Element Handle   Facet Handle  Grid Element   Grid Cell   Sequence Iterator   Incidence Iterator  

Guntram Berti

Grid Face ConceptGrid EntitiesGrid Edge ConceptGrid Facet Concept