CGAL 5.0  Polygon Mesh Processing

In this package, all functions optional parameters are implemented as BGL optional named parameters (see Named Parameters for more information on how to use them).
Since the parameters of the various polygon mesh processing functions defined in this package are redundant, their long descriptions are centralized below. The sequence of named parameters starts with CGAL::parameters::
. CGAL::parameters::all_default()
can be used to indicate that default values of optional named parameters shall be used.
In the following, we assume that the following types are provided as template parameters of polygon mesh processing functions and classes. Note that, for some of these functions, the type is more specific:
PolygonMesh
is a model of the concept FaceGraph
. GeomTraits
a geometric traits class in which constructions are performed and predicates evaluated. Everywhere in this package, a CGAL Kernel
fulfills the requirements. The following named parameters, offered by the package CGAL and the Boost Graph Library (see BGL Named Parameters), are used in this package:
vertex_point_map  is the property map with the points associated to the vertices of the polygon mesh boost::get(CGAL::vertex_point, pmesh) 
vertex_index_map  is the property map containing the index of each vertex of the input polygon mesh. typename boost::property_traits<typename boost::property_map<PolygonMesh, CGAL::vertex_index_t>::type>::value_type Default: boost::get(CGAL::vertex_index, pmesh) 
face_index_map  is the property map containing the index of each face of the input polygon mesh. typename boost::property_traits<typename boost::property_map<PolygonMesh, CGAL::face_index_t>::type>::value_type Default: boost::get(CGAL::face_index, pmesh) If this internal property map exists, its values must be initialized. 
edge_is_constrained_map  is the property map containing information about edges of the input polygon mesh being marked or not. In isotropic_remeshing() and connected_components() , the marked edges are constrained.Type: a class model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh>::edge_descriptor as key type and bool as value type. It must be default constructible.Default: a default property map where no edge is constrained 
In addition to these named parameters, this package offers the following named parameters:
geom_traits  is the geometric traits instance used for the mesh processing operation. typename CGAL::Kernel_traits< typename boost::property_traits< typename boost::property_map<PolygonMesh, CGAL::vertex_point_t>::type>::value_type>::Kernel 
vertex_incident_patches_map  is the property map containing the surface patches incident to each vertex of the input polygon mesh. boost::get(CGAL::vertex_incident_patches_t, pmesh) 
vertex_feature_degree_map  is the property map containing the number of feature edges being incident to the vertices of the polygon mesh boost::get(CGAL::vertex_feature_degree_t(), pmesh) 
vertex_is_constrained_map  is the property map containing information about vertices of the input polygon mesh being constrained or not. Constrained vertices may be replaced by new vertices, but the number and location of vertices remain unchanged. 
face_patch_map  is a property map containing information about faces. It is particularly wellsuited for preserving surface patch IDs, or face colors. The edges at the interface between surface patches are treated similarly to the ones of 
first_index  is the index of the first surface patch. 
density_control_factor  controls the density of the mesh generated by refinement, with larger values causing denser refinements. The density of vertices in the refined region is this factor times higher than before refinement. 
fairing_continuity  controls the tangential continuity of the output surface in 
sparse_linear_solver  is the solver used. CGAL::Eigen_solver_traits<Eigen::SparseLU<CGAL::Eigen_sparse_matrix<double>::EigenType, Eigen::COLAMDOrdering<int> > > in CGAL::Eigen_solver_traits<Eigen::BiCGSTAB<CGAL::Eigen_sparse_matrix<double>::EigenType, Eigen::IncompleteLUT<double> > > 
number_of_iterations  is the number of iterations of the sequence of iterations performed in 
protect_constraints  enables the protection of constraints listed by edge_is_constrained_map and boundary edges in 
collapse_constraints  enables the collapse of constraints listed by edge_is_constrained_map and boundary edges in 
relax_constraints  enables the tangential relaxation step in 
number_of_relaxation_steps  is the number of iterations of tangential relaxation that are performed at each iteration of 
use_delaunay_triangulation  enables the use of the Delaunay triangulation facet search space for hole filling functions. If no valid triangulation can be found in this search space, the algorithm falls back to the nonDelaunay triangulations search space to find a solution. 
use_random_uniform_sampling  is a parameter used in 
use_grid_sampling  is a parameter used in 
use_monte_carlo_sampling  is a parameter used in 
sample_edges  is a parameter used in 
sample_vertices  is a parameter used in 
sample_faces  is a parameter used in 
number_of_points_on_faces  is a parameter used in 
number_of_points_on_edges  is a parameter used in 
number_of_points_per_face  is a parameter used in 
number_of_points_per_edge  is a parameter used in 
grid_spacing  is a parameter used in 
number_of_points_per_area_unit  is a parameter used in 
number_of_points_per_distance_unit  is a parameter used in 
do_project  is a parameter used in 
random_seed  is a parameter used in 
outward_orientation  Parameter used in orientation functions to choose between an outward or inward orientation. 
do_overlap_test_of_bounded_sides  Parameter used in intersection test functions to indicate whether overlapping tests of bounded sides of close meshes are done in addition to surface intersection tests. 
projection_functor  Parameter used in 
apply_per_connected_component  Parameter used to indicate whether an algorithm should consider each connected component of a mesh independently. 
visitor  Parameter used to pass a visitor class to a function. Its type and behavior depend on the visited function. 
throw_on_self_intersection  Parameter used in corefinementrelated functions to make the functions throw an exception in case some faces involved in the intersection of the input are selfintersecting and make the operation impossible with the current version of the code. 
clip_volume  Parameter used in 
use_compact_clipper  Parameter used in 
output_iterator  Parameter to pass an output iterator. 
erase_all_duplicates  Parameter used in the function 
require_same_orientation  Parameter used in the function 
snapping_tolerance  Parameter used in the function 
use_angle_smoothing_t  Parameter used in the function

use_area_smoothing_t  Parameter used in the function

use_Delaunay_flips_t  Parameter used in the function

use_safety_constraints  Parameter used in the function

face_size_map  Parameter used in the functions
