template<typename InitialPointsRange>
| unspecified_type CGAL::parameters::initial_points |
( |
const InitialPointsRange & | initial_points | ) |
|
#include <CGAL/Mesh_3/parameters.h>
The function parameters::initial_points() enables the user to specify a container, model of Range, that contains initial points constructed on surfaces, to be used in the make_mesh_3() function for mesh generation.
Let MeshDomain be a model of MeshDomain_3 and C3t3 be a model of MeshComplex_3InTriangulation_3 being used by make_mesh_3(). Items in the container are then tuple-like objects containing a Weighted_point_3, an int, and a MeshDomain::Index, where Weighted_point_3 represents the position and the weight of the point, int the dimension of the minimal subcomplex on which the point lies, and MeshDomain::Index the corresponding subcomplex index. These initial points are inserted after the initialization of 1-dimensional features.
Initialization is considered to be complete if the triangulation is a 3D triangulation with at least one facet in the restricted Delaunay triangulation (i.e., its dual intersects the input surface).
If the parameter parameters::initial_points_generator() is set, the points from this parameter will be inserted before calling the initial points generator.
If after the insertion of initial points (possibly together with the input generator), the initialization is not complete, the domain's construct_initial_points_object() will be called.
- Template Parameters
-
| InitialPointsRange | a model of Range containing tuple-like objects of C3t3::Triangulation::Geom_traits::Weighted_point_3, int, MeshDomain::Index. |
- Parameters
-
| initial_points | an instance of InitialPointsRange |
Example
std::vector<std::tuple<K::Weighted_point_3, int, Mesh_domain::Index>>
initial_points;
criteria,
unspecified_type initial_points(const InitialPointsRange &initial_points)
The function parameters::initial_points() enables the user to specify a container,...
- See also
- CGAL::make_mesh_3()
-
CGAL::parameters::initial_points_generator()
-
MeshDomain_3::Construct_initial_points
template<typename InitialPointsGenerator>
| unspecified_type CGAL::parameters::initial_points_generator |
( |
const InitialPointsGenerator & | generator | ) |
|
#include <CGAL/Mesh_3/parameters.h>
The function parameters::initial_points_generator() enables the user to specify a functor that follows the InitialPointsGenerator_3 concept to the mesh generation function make_mesh_3().
This functor is called for the initialization of the meshing process, by inserting well-distributed surface vertices. If this parameter is not specified, the default behavior is executed, which calls the domain's construct_initial_points_object() for the initialization of the meshing process.
Initialization is considered to be complete if the triangulation is a 3D triangulation with at least one facet in the restricted Delaunay triangulation (i.e., its dual intersects the input surface).
If 1-dimensional features are requested, their initialization is performed first. If provided, the points of parameters::initial_points() are inserted next. Then, parameters::initial_points_generator() is used to generate more initial points and complete the initialization. If the generator does not generate enough points for the initialization to be complete, the domain's construct_initial_points_object() will be called to generate enough input points.
- Template Parameters
-
- Parameters
-
| generator | an instance of InitialPointsGenerator |
Example
img_pts_generator(image, domain, CGAL::parameters::verbose(true));
params::initial_points_generator(img_pts_generator));
const auto& tr = c3t3.triangulation();
- See also
- CGAL::make_mesh_3()
-
CGAL::parameters::initial_points()
-
MeshDomain_3::Construct_initial_points