smooths a tetrahedral mesh while preserving the boundary and curve features.
This function takes as input a tetrahedral mesh and will iteratively move its vertices to improve the quality of the tetrahedra while preserving (softly) the boundary and curve features through projection queries. Vertices will stay close to their original entity (surface patch or curve). Corners are locked on their original position. The algorithm will recover curvature discontinuities (sharp features) in a patch, and is capable of recovering inverted tetrahedra in the mesh. An input mesh with only positively oriented tetrahedra is guaranteed to remain so during the smoothing procedure.
Warning
This function updates vertex positions without modifying connectivity, and therefore does not preserve Delaunay properties.
support to re-project faces and edges on their respective patches and curves.
np
optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
If true, the function prints information about the smoothing process to the standard output.
Type: bool
Default: false
Maximum allowed time for the smoothing process in seconds.
Type: double
Default: 0., indicating no time limit.
Maximum number of quality metric evaluations for smoothing.
Type: unsigned int
Default: 10000
Extra: Metric evaluations will be used to find improved point locations. Increase the value if the algorithm has not converged yet. It is strongly correlated to running time but will scale linearly with mesh size.
a tag indicating if the task should be done using one or several threads.
Type: Either CGAL::Sequential_tag, or CGAL::Parallel_tag, or CGAL::Parallel_if_available_tag
Default: CGAL::Parallel_if_available_tag
a property map containing the constrained-or-not status of each vertex of the triangulation in the c3t3.
Type: a class model of ReadablePropertyMap with C3t3::Vertex_handle as key type and bool as value type. It must be default constructible.
Default: a default property map where no vertex is constrained
Extra: A constrained vertex will not be moved by smoothing.
a property map containing the constrained-or-not status of each edge of the triangulation in the c3t3.
Type: a class model of ReadablePropertyMap with std::pair<C3t3::Vertex_handle, C3t3::Vertex_handle> as key type and bool as value type. It must be default constructible.
Default: a default property map where no edge is constrained
Extra: Vertices of a constrained edge will not be moved by the smoothing.
a property map containing the constrained-or-not status of each facet of the triangulation in the c3t3.
Type: a class model of ReadablePropertyMap with C3t3::Facet as key type and bool as value type. It must be default constructible.
Default: a default property map where no facet is constrained
Extra: Vertices of a constrained facet will not be moved by smoothing.