Concept

SurfaceMeshCellBase_3

Definition

The concept SurfaceMeshCellBase_3 describes the cell base type of the three dimensional triangulation used to embed the surface mesh.

More precisely, the first template parameter SurfaceMeshC2T3 of the surface mesher make_surface_mesh is a model of the concept SurfaceMeshComplex_2InTriangulation_3 which describes a data structure to store a pure two dimensional complex embedded in a three dimensional triangulation. In particular, the type SurfaceMeshC2T3 is required to provide a three dimensional triangulation type SurfaceMeshC2T3::Triangulation_3. The concept SurfaceMeshCellBase_3 describes the cell base type required in this triangulation type.

Refines

TriangulationCellBase_3

The concept SurfaceMeshCellBase_3 adds four markers to mark the facets of the triangulation that belong to the two dimensional complex, and four markers that are helpers used in some operations to mark for instance the facets that have been visited.

This concept also provides storage for the center of a Delaunay surface ball. Given a surface and a 3D Delaunay triangulation, a Delaunay surface ball is a ball circumscribed to a facet of the triangulation and centered on the surface and empty of triangulation vertices. Such a ball does exist when the facet is part of the restriction to the surface of a three dimensional triangulation. In the following we call surface center of a facet, the center of its biggest Delaunay surface ball.

Types

SurfaceMeshCellBase_3::Point
The point type, required to match the point type of the three dimensional triangulation in which the surface mesh is embedded.

Creation

Operations

bool cell.is_facet_on_surface ( int i)
returns true, if facet(i) is in the 2D complex.
void cell.set_facet_on_surface ( int i, bool b)
Sets facet(i) as part of the 2D complex, if b is true, and NOT_IN_COMPLEX, otherwise.

bool cell.is_facet_visited ( int i) Returns true, if facet(i) has been visited, false otherwise.
void cell.set_facet_visited ( int i, bool b)
Marks facet(i) as visited, if b is true, and non visited otherwise.

Point cell.get_facet_surface_center ( int i)
Returns a const reference to the surface center of facet(i).
void cell.set_facet_surface_center ( int i, Point p)
Sets point p as the surface center of facet(i).

Has Models

Surface_mesh_cell_base_3<Gt,Vb>
Surface_mesh_default_triangulation_3::Cell

See Also

SurfaceMeshTriangulation_3
SurfaceMeshComplex_2InTriangulation_3
Surface_mesh_complex_2_in_triangulation_3<Tr>
Surface_mesh_default_triangulation_3
make_surface_mesh