CGAL 6.2 - Meshing and Remeshing of Polygonal Meshes

Loading...
Searching...
No Matches
Functions
Global Remeshing Algorithms
Reference Manual

##

Functions to generate meshes using global approaches that completely overhaul the mesh.

## Functions
template<typename TriangleMesh , typename TriangleMeshOut = TriangleMesh, typename NamedParameters = parameters::Default_named_parameters>
TriangleMeshOut | CGAL::Polygon_mesh_processing::surface_Delaunay_remeshing (const TriangleMesh &tmesh, const NamedParameters &np=parameters::default_values())
| remeshes a surface triangle mesh following the Delaunay refinement algorithm described in the 3D Mesh Generation package.

## Function Documentation

## ◆ surface_Delaunay_remeshing()

template<typename TriangleMesh , typename TriangleMeshOut = TriangleMesh, typename NamedParameters = parameters::Default_named_parameters>

TriangleMeshOut CGAL::Polygon_mesh_processing::surface_Delaunay_remeshing | ( | const TriangleMesh & | tmesh,
|  | const NamedParameters & | np = `parameters::default_values()`
| ) |  |

`#include <CGAL/Polygon_mesh_processing/surface_Delaunay_remeshing.h>`

remeshes a surface triangle mesh following the Delaunay refinement algorithm described in the 3D Mesh Generation package.

Template Parameters

  TriangleMesh | model of `FaceListGraph`
  TriangleMeshOut | model of `FaceListGraph`, model of `DefaultConstructible`, with an internal property map for `CGAL::vertex_point_t` with `geom_traits::Point_3` as value type.
  NamedParameters | a sequence of Named Parameters

Parameters

  tmesh | a triangle surface mesh
  np | an optional sequence of Named Parameters among the ones listed below

Returns
  the triangulated surface mesh following the requirements of the input meshing criteria

Optional Named Parameters

  an instance of a geometric traits class Type: a class model of `Kernel` Default: a CGAL Kernel deduced from the point type, using `CGAL::Kernel_traits` Extra: The geometric traits class must be compatible with the vertex point type. Extra: Exact construction kernels are not supported by this function. |
  a property map associating points to the vertices of `tmesh` Type: a class model of `ReadablePropertyMap` with `boost::graph_traits<TriangleMesh>::vertex_descriptor` as key type and `Point_3` as value type Default: `boost::get(CGAL::vertex_point, tmesh)` Extra: If this parameter is omitted, an internal property map for `CGAL::vertex_point_t` must be available in `TriangleMesh`. |
  the dihedral angle bound (in degrees) for detection of feature edges Type: A number type `FT`, either deduced from the `geom_traits` Named Parameters if provided, or from the geometric traits class deduced from the point property map of `TriangleMesh`. Default: `60` Extra: Border edges are protected, along with detected sharp edges. Extra: If the given value is `180`, only the border edges are protected. |
  a property map containing the constrained-or-not status of each edge of `tmesh` Type: a class model of `ReadWritePropertyMap` with `boost::graph_traits<TriangleMesh>::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 |
  a set of polylines that will be resampled and appear as protected polyline constraints in the output mesh Type: a class model of `Range`, of which value type is model of `MeshPolyline_3` Default: an empty range of segments |
  If `true`, the feature edges of the input are re-sampled and present in the output mesh. If `edge_is_constrained_map` is provided, the corresponding "constrained" edges are protected. Else, if `polyline_constraints` is provided, the corresponding polylines are protected. Otherwise, `features_angle_bound` is used, and the edges that form a sharp dihedral angle with respect to that bound are protected. Type: Boolean Default: `false` Extra: Note that only one of these three input parameters is taken into account, in the priority order listed above. |
  a property map with the patch id's associated to the faces of `faces` Type: a class model of `ReadWritePropertyMap` with `boost::graph_traits<TriangleMesh>::face_descriptor` as key type and the desired property, model of `CopyConstructible` and `LessThanComparable`, as value type. Default: a default property map where each face is associated with the ID of the connected component it belongs to. Connected components are computed with respect to the constrained edges listed in the property map `edge_is_constrained_map`. Extra: The map is updated during the remeshing process while new faces are created. |
  A scalar field (resp. a constant) providing a space-varying (resp. a uniform) upper bound for the lengths of curve edges. This parameter has to be set to a positive value when 1-dimensional features protection is used (when `protect_constraints` is `true`). Type: A number type `FT` model of the concept `Field`, or a model of the concept `MeshDomainField_3` Default: `(std::numeric_limits<FT>::max)()`, with `FT` a number type, either deduced from the `geom_traits` Named Parameters if provided, or from the geometric traits class deduced from the point property map of `TriangleMesh`. |
  A scalar field (resp. a constant) describing a space-varying (resp. a uniform) upper bound for the radii of the surface Delaunay balls. Type: A number type `FT` model of the concept `Field`, or a model of the concept `MeshDomainField_3` Default: `0.` |
  A lower bound for the angles (in degrees) of the surface mesh facets. Type: A number type `FT` model of the concept `Field` Default: `0.` |
  A scalar field (resp. a constant) describing a space-varying (resp. a uniform) upper bound for the distance between the facet circumcenter and the center of its surface Delaunay ball. Type: A number type `FT` model of the concept `Field`, or a model of the concept `MeshDomainField_3` Default: `0.` |
  The set of topological constraints which have to be verified by each surface facet. The default value is `CGAL::FACET_VERTICES_ON_SURFACE`. See `CGAL::Mesh_facet_topology` manual page for a description of the possible values. Type: `CGAL::Mesh_facet_topology` Default: `CGAL::FACET_VERTICES_ON_SURFACE` |

Precondition
  `tmesh` must be free of self-intersections.

Note
  Only one of the named parameters defining constrained edges is taken into account for meshing, in the following priority order : `edge_is_constrained_map`, `polyline_constraints`, and `features_angle_bound`. The selected edges are protected only if `protect_constraints` is set to `true`.

Examples
  PMP_Remeshing/delaunay_remeshing_example.cpp.