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 |
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 | |
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) |