The concept MeshComplex_3InTriangulation_3 provides a data structure to represent and maintain a 3D complex embedded in a 3D triangulation. The data structure includes a 3D triangulation and marks for each cell of the triangulation whether or not such cell belongs to the 3D complex. In Cgal 3D mesh generator, this data structure is used to maintain, during the refinement process, the current approximation of the domain to be discretized and to represent the final mesh. Each subdomain is approximated as the union of some cells of the embedding triangulation. The 3D complex is always a pure 3D complex, i.e., it includes a subset of the cells of the triangulations as well as their subfaces.
The data structure also represents a 2D complex, the boundary complex, embedded in the same 3D triangulation, and representing the boundary of the 3D complex. This 2D complex includes, for each surface patch of the input domain, a set of triangulation facets, forming an approximation of the surface patch. Facets in the boundary complex are called surface facets or boundary facets.
| |
Type of the
embedding 3D triangulation. Must be a 3D
regular triangulation of Cgal.
|
| |
Must match the type MeshDomain_3::Subdomain_index
of the mesh generation process.
| |
| |
Must match the type MeshDomain_3::Surface_index
of the mesh generation process.
| |
| |
Must match the type MeshDomain_3::Index
of the mesh generation process.
| |
| |
Iterator type to visit the cells
of the triangulation belonging to the 3D complex.
| |
| |
Iterator type to visit the facets
of the 2D boundary complex.
|
| |
Builds an empty 3D complex.
| |
| |
Copy constructor. Embedded triangulation is duplicated.
|
|
| Assignment operator. Embedded triangulation is duplicated, and the former triangulation of rhs is deleted. |
|
| Swaps c3t3 and rhs. There is no copy of embedded triangulation, thus this method runs in constant time. This method should be preferred to c3t3=rhs or c3t3(rhs) when rhs is deleted after that. |
|
| Returns a const reference to the triangulation. |
|
| Returns a reference to the triangulation. |
|
| |
Adds cell c of index index to the 3D complex. | ||
|
| |
Adds facet f with surface index index) to the 2D boundary complex. | ||
|
| |
Same as above with f=(c,i). | ||
|
| |
Removes cell c from the 3D complex. | ||
|
| |
Removes facet f from the 2D complex. | ||
|
| |
Same as above with f=(c,i). | ||
|
| |
Sets the subdomain index of a cell. | ||
|
| |
Sets the surface index of the facet f. | ||
|
| |
Same as above with f=(c,i). | ||
|
| |
Sets the index of a vertex. | ||
|
| |
Sets the dimension of vertex v. |
|
| Returns the number of cells that belong to the 3D complex. |
|
| Returns the number of facets that belong to the boundary 2D complex. |
|
| |
Returns true iff the cell c belongs to the 3D complex. | ||
|
| Returns true iff the facet f belongs to the boundary 2D complex. |
|
| |
Same as above with f=(c,i). |
Queries on the identifier of the face complex including triangulation cells, facets and vertices.
|
| |
Returns the index of the subdomain of the input domain containing the cell c (i.e., its circumcenter). The default subdomain index is returned if the cell c is outside the domain. | ||
|
| For a surface facet, returns the index of the surface patch of the input complex intersection the dual Voronoi edge of the facet. For a facet that is not a surface facet, the default Surface_index value is returned. |
|
| |
Same as above with f=(c,i). | ||
|
| |
Returns the dimension of the lowest dimensional face of the domain complex that contains the vertex v. | ||
|
| Returns the index of the lowest dimensional face of the input domain that contains the vertex v. |
The data structure provides iterators to visit the cells and facets of the complex. All those iterators are bidirectional and non mutable.