CGAL 4.14 - Point Set Processing
Named Parameters for Point Set 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 point set processing functions defined in this package are redundant, their long descriptions are centralized below.

In the following, we assume that the following types are provided as template parameters of point set processing functions and classes. Note that, for some of these functions, the type is more specific.

• PointRange is a model of Range. The value type of its iterator is the key type of the related property maps (see below).
• GeomTraits a geometric traits class in which constructions are performed and predicates evaluated. Everywhere in this package, a CGAL Kernel fulfills the requirements.

CGAL::parameters::all_default() can be used to indicate that default values of optional named parameters must be used.

Here is the list of the named parameters available in this package:

 geom_traits the geometric traits instance in which the point set processing operation should be performed. Type: a Geometric traits class. Default type: is point_map is the property map containing the points associated to the elements of the point range points. Type: a class model of ReadablePropertyMap with PointRange::iterator::value_type as key type and geom_traits::Point_3 as value type. Default value:CGAL::Identity_property_map normal_map is the property map containing the normal vectors associated to the elements of the point range points. Type: a class model of ReadablePropertyMap with PointRange::iterator::value_type as key type and geom_traits::Vector_3 as value type. No default value. diagonalize_traits is the solver used for diagonalizing covariance matrices. Type: a class model of DiagonalizeTraits. Default: CGAL::Eigen_diagonalize_traits if Eigen 3.2 (or greater) is available and CGAL_EIGEN3_ENABLED is defined. svd_traits is the linear algebra algorithm required by the jet fitting method. For more information, please refer to the documentation of CGAL::Monge_via_jet_fitting. Type: a class fitting the requirements of CGAL::Monge_via_jet_fitting. Default: if Eigen 3.2 (or greater) is available and CGAL_EIGEN3_ENABLED is defined, then CGAL::Eigen_svd is used. callback is a mechanism to get feedback on the advancement of the algorithm while it's running and to interrupt it if needed. It is called regularly when the algorithm is running: the current advancement (between 0. and 1.) is passed as parameter. If it returns true, then the algorithm continues its execution normally; if it returns false, the algorithm is stopped. The callback will be copied and therefore needs to be lightweight. Note that when a callback is run on a parallelized algorithm with CGAL::Parallel_tag, it is called asynchronously on a separate thread and shouldn't access or modify the variables that are parameters of the algorithm. Type: CGAL::cpp11::function. Default: empty function. query_point_map is the property map containing the points associated to the elements of the point range queries. Type: a class model of ReadablePropertyMap with PointRange::iterator::value_type as key type and geom_traits::Point_3 as value type. Default value:CGAL::Identity_property_map sharpness_angle controls the sharpness of the result. The larger the value is, the smoother the result will be. The range of possible value is [0, 90]. Type: floating scalar value Default value: 30. edge_sensitivity controls the priority of points inserted along sharp features. Larger values of edge-sensitivity give higher priority to inserting points along sharp features. The range of possible values is [0, 1]. Type: floating scalar value Default value: 1. neighbor_radius is the spherical neighborhood radius. Type: floating scalar value Default value: -1, in which case the functions that use it will compute an adapted value automatically. number_of_output_points is the number of output points to generate. Type: unsigned int Default value: 1000 size maximum cluster size for hierarchical clustering. Must be strictly greather than 0. Type: unsigned int Default value: 10 maximum_variation maximum cluster size for hierarchical clustering. Must be strictly greather than 0. Type: unsigned int Default value: 10 degree_fitting is the degree of fitting (see CGAL::Monge_via_jet_fitting). Type: unsigned int Default value: 2 degree_monge is the Monge degree (see CGAL::Monge_via_jet_fitting). Type: unsigned int Default value: 2 threshold_distance is the minimum distance for a point to be considered as outlier (distance here is the square root of the average squared distance to K nearest neighbors). Type: floating scalar value Default value: 0 threshold_percent is the maximum percentage (between 0 and 100) of points to remove in remove_outliers(). Type: floating scalar value Default value: 10 attraction_factor multiple of a tolerance epsilon used to connect simplices. Type: floating scalar value Default value: 3 plane_map is the property map containing the planes associated to the elements of the plane range planes. Type: a class model of ReadablePropertyMap with PlaneRange::iterator::value_type as key type and geom_traits::Plane_3 as value type. Default value:CGAL::Identity_property_map plane_index_map is the property map that associates the index of a point in the input range to the index of plane (-1 if point is not assigned to a plane). Type: a class model of ReadablePropertyMap with std::size_t as key type and int as value type. No default value. select_percentage percentage of points to retain (between 0 and 100) in wlop_simplify_and_regularize_point_set(). Type: floating scalar value Default value: 5. number_of_iterations number of iterations to solve the optimsation problem in wlop_simplify_and_regularize_point_set(). Type: unsigned int Default value: 35. require_uniform_sampling turn on or off an optional preprocessing of wlop_simplify_and_regularize_point_set(), which will give better result if the distribution of the input points is highly non-uniform. Type: bool Default value: false point_is_constrained_map is the property map containing information about points being constrained or not. Constrained points are left unaltered and are used as seeds in mst_orient_normals(). Type: a class model of ReadablePropertyMap with PointRange::iterator::value_type as key type and bool as value type. Default value: a property map with only the highest point constrained.