   Volume Grid Geometry Concept

### Volume Grid Geometry Concept

##### Description

The Volume Grid Geometry assigns a geometric entity to every combinatorial element of a grid. Moreover, the it offers methods to calculate the volumes of these geometric entities, which means volume in the combinatorial dimension of the entities, for example, length of edges or area of faces.

##### Notation

Geo is a type which is a model of Vertex Grid Geometry
g is an object of type Geo
x is an object of type Geo::real_type
q is an object of Geo::coord_type
s is an object of type Geo::segment_type
p is an object of type Geo::polygon_type
h is an object of type Geo::polyhedron_type
e is an objects of type Geo::grid_type::Edge, which is a model of Grid Edge.
f is an objects of type Geo::grid_type::Face, which is a model of Grid Face.
c is an objects of type Geo::grid_type::Cell, which is a model of Grid Cell.

##### Associated types
 Name Expression Description point type Geo::coord_type the geometric point type, representation of the elements of the topological space where the geometry lives model of STL Assignable. real number type real_type representation of a real number, model of STL Assignable segment type segment_type geometric type corressponding to edges, model of STL Assignable polygon type polygon_type geometric type corresponding to faces (if the grid type has combinatorial dimension >= 2.) model of STL Assignable polyhedron type polyhedron_type geometric type corresponding to cells (if the grid type has combinatorial dimension 3.) model of STL Assignable

##### Valid Expressions
 Name Expression Type requirements return type 1-dimensional geometric entity s = g.segment(e) Geo::segment_type 2-dimensional geometric entity p = g.polygon(f) Geo::polygon_type 3-dimensional geometric entity h = g.polyhedron(c) Geo::polyhedron_type 1-dimensional volume x = g.volume(e); real_type 1-dimensional volume x = g.length(e); real_type 2-dimensional volume x = g.volume(f); real_type 2-dimensional volume x = g.area(f); real_type 3-dimensional volume x = g.volume(c); real_type

##### Expression semantics

The general requirement here is that the mapping to geometric entities is faithful with respect to the combinatorial structure, that is, the poset defined by the inclusion relation of the geometric elements is identical or a refinement of the poset of the grid: The relative boundary of a geometric image of a grid element is identical of the union of the geometric images of its lower-dimensional incidents. Note, however, that self-intersecting immersions are not excluded.

 Name Expression Precondition Semantics Postcondition 1-dimensional geometric entity s = g.segment(e) e is valid get the segment corresponding to e s == g.segment(e) start(s) == g.coord(e.V1()) end(s) == g.coord(e.V2()) 2-dimensional geometric entity p = g.polygon(f) f is valid get the polygon corresponding to f boundary of  p = U  e < f  g.segment(e)

##### Notes   Volume Grid Geometry Concept