CGAL 6.3 - 3D Mesh Smoothing
Loading...
Searching...
No Matches

Functions

template<typename C3t3, typename NamedParameters = parameters::Default_named_parameters>
void CGAL::boundary_aware_mesh_smoothing (C3t3 &c3t3, NamedParameters const &np=parameters::default_values())
 Smooth a tetrahedral mesh while preserving the boundary and curve features.

Function Documentation

◆ boundary_aware_mesh_smoothing()

template<typename C3t3, typename NamedParameters = parameters::Default_named_parameters>
void CGAL::boundary_aware_mesh_smoothing ( C3t3 & c3t3,
NamedParameters const & np = parameters::default_values() )

#include <CGAL/Mesh_smoothing_3/boundary_aware_mesh_smoothing.h>

Smooth a tetrahedral mesh while preserving the boundary and curve features.

This function takes as input a Mesh_complex_3_in_triangulation_3 and will iteratively move its vertices to improve the quality of the tetrahedra while preserving (softly) the boundary and curve features. Vertices will stay close to their original entity (surface patch or curve). Corners are locked on their original position. The code is capable of recovering curvature discontinuities (sharp features) in a patch, and is capable of recovering inverted tetrahedra in the mesh. A valid input mesh is guaranteed to remain valid after and during the smoothing.

Template Parameters
C3t3model of MeshComplex_3InTriangulation_3
NamedParametersa sequence of Named Parameters
Parameters
c3t3is the tetrahedral mesh to smooth.
npis an optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
  • Maximum number of iterations for the outer loop of the smoothing/untangling algorithm. Algorithm will stop before if it reaches convergence.
  • Type: unsigned int
  • Default: 100
  • If true, the function prints information about the smoothing process to the standard output.
  • Type: bool
  • Default: false
  • a property map containing the constrained-or-not status of each vertex of the triangulation in the c3t3.
  • Type: a class model of ReadPropertyMap 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 ReadPropertyMap 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 ReadPropertyMap 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.
Examples
Mesh_smoothing_3/c3t3_smooth.cpp.