CGAL 5.1 - Tetrahedral Remeshing
Named Parameters for Tetrahedral Remeshing

How to use BGL Optional Named Parameters

The notion of named parameters was introduced in the BGL. Details can be found from: https://www.boost.org/libs/graph/doc/bgl_named_params.html. Named parameters enable the user to specify only those parameters which are really needed, by name, making the parameter ordering not required. See Named Parameters for more information on how to use them.

The sequence of named parameters should start with CGAL::parameters::. The function CGAL::parameters::all_default() can be used to indicate that default values of optional named parameters are used.

List of Available Named Parameters

In this package, functions optional parameters are implemented as BGL optional named parameters and listed below.

In the following, we assume that the following types are provided as template parameters of tetrahedral remeshing functions. Note that the type may be more specific for some functions.

number_of_iterations

the number of iterations for the full sequence of atomic operations (edge splits, edge collapses, edge flips, smoothing and projection to the initial surface) performed to reach the input target edge length while improving the quality of dihedral angles in the mesh.
Type : std::size_t
Default value is 1

remesh_boundaries

a Boolean that states whether the boundaries should be remeshed or exactly preserved by the remeshing process. Boundaries are between the exterior and the interior, between two subdomains, between the areas selected or not for remeshing (cf Remeshing_cell_is_selected_map), or defined by Remeshing_edge_is_constrained_map and Remeshing_facet_is_constrained_map. If true, they are remeshed. Otherwise, they cannot be modified at all by the remeshing process.
Type : bool
Default value is true

edge_is_constrained_map

is a property map containing information about edges of the input triangulation being marked as constrained or not.
Type: a class model of ReadWritePropertyMap with std::pair<Triangulation::Vertex_handle, Triangulation::Vertex_handle> as key type and bool as value type. The pairs must be ordered to ensure consistency. During the meshing process, the set of constrained edges evolves consistently with edge splits and collapses, so the property map must be writable. It must be default constructible.
Default: a default property map where no edge is constrained

facet_is_constrained_map

is a property map containing information about facets of the input triangulation being marked as constrained or not.
Type: a class model of ReadPropertyMap with Triangulation::Facet as key type and bool as value type. It is not updated throughout the remeshing process. It must be default constructible.
Default: a default property map where no facet is constrained

cell_is_selected_map

is a property map containing information about cells of the input triangulation being marked as selected or not for tetrahedral remeshing. Only selected cells are modified (and possibly their neighbors if surfaces are modified) by the remeshing process. Unselected cells will not be modified.
Type : a class model of ReadWritePropertyMap with Triangulation::Cell_handle as key type and bool as value type. During the meshing process, the set of selected cells evolves consistently with the atomic operations that are performed, so the property map must be writable. It must be default constructible.
Default: a default property map where all cells of the domain (i.e. with a non-zero Subdomain_index) are selected.