CGAL 6.1 - 3D Constrained Triangulations
Loading...
Searching...
No Matches

Functions

template<typename Triangulation = CGAL::Default, typename PolygonMesh , typename NamedParameters = CGAL::parameters::Default_named_parameters>
auto CGAL::make_conforming_constrained_Delaunay_triangulation_3 (const PolygonMesh &mesh, const NamedParameters &np=parameters::default_values())
 creates a 3D constrained Delaunay triangulation conforming to the faces of a polygon mesh.
 
template<typename Triangulation = CGAL::Default, typename PointRange , typename PolygonRange , typename NamedParameters = parameters::Default_named_parameters>
auto CGAL::make_conforming_constrained_Delaunay_triangulation_3 (const PointRange &points, const PolygonRange &polygons, const NamedParameters &np=parameters::default_values())
 creates a 3D constrained Delaunay triangulation conforming to the faces of a polygon soup.
 

Function Documentation

◆ make_conforming_constrained_Delaunay_triangulation_3() [1/2]

template<typename Triangulation = CGAL::Default, typename PointRange , typename PolygonRange , typename NamedParameters = parameters::Default_named_parameters>
auto CGAL::make_conforming_constrained_Delaunay_triangulation_3 ( const PointRange &  points,
const PolygonRange &  polygons,
const NamedParameters &  np = parameters::default_values() 
)

#include <CGAL/make_conforming_constrained_Delaunay_triangulation_3.h>

creates a 3D constrained Delaunay triangulation conforming to the faces of a polygon soup.

The polygon soup represents the polygonal constraints that will be enforced during the triangulation process.

By default, each face of the polygon soup is considered as a polygonal constraint for the triangulation. The named parameter face_patch_map can be used to describe bigger polygonal constraints, possibly with holes. If used, the argument of that parameter must be a property map that maps each face of the polygon soup to a patch identifier. Faces with the same patch identifier are considered as part of the same surface patch. Each of those surface patches (defined as the union of the faces with a given patch id) is supposed to be a polygon or a polygon with holes, with coplanar vertices (or almost coplanar up to the precision of the number type used).

The generated triangulation will be constrained to conform to the faces of the polygon soup, or to the surface patches described by the face_patch_map property map if provided.

Template Parameters
TriangulationAn instance of the CGAL::Conforming_constrained_Delaunay_triangulation_3 class template (or CGAL::Default).
PointRangea model of the concept RandomAccessContainer whose value type is the point type
PolygonRangea model of the concept RandomAccessContainer whose value type is a model of the concept RandomAccessContainer whose value type is std::size_t
NamedParametersa sequence of Named Parameters

If Triangulation is CGAL::Default, the geometric traits Traits is deduced from the point type in PointRange and the named parameters NamedParameters. And then the default conforming constrained Delaunay triangulation is CGAL::Conforming_constrained_Delaunay_triangulation_3<Traits>.

Parameters
pointsa range of points representing the vertices of the polygon soup
polygonsa range of ranges of indices representing the faces of the polygon soup
npan optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
  • a property map associating points to the elements of the range points
  • Type: a model of ReadablePropertyMap whose value type is a point type convertible to the point type
  • Default: CGAL::Identity_property_map

  • an instance of a geometric traits class
  • Type: Traits
  • Default: the default constructed traits object Traits{}

  • a property map associating a patch identifier to each face of soup
  • Type: a class model of ReadWritePropertyMap with std::size_t as key type and with any value type that is a regular type (model of Regular)
  • Extra: If this parameter is omitted, each face of the polygon soup is considered as a separate patch.
  • Extra: Faces with the same patch identifier are considered as part of the same surface patch.

Precondition
the polygon soup must not have self-intersections.

◆ make_conforming_constrained_Delaunay_triangulation_3() [2/2]

template<typename Triangulation = CGAL::Default, typename PolygonMesh , typename NamedParameters = CGAL::parameters::Default_named_parameters>
auto CGAL::make_conforming_constrained_Delaunay_triangulation_3 ( const PolygonMesh &  mesh,
const NamedParameters &  np = parameters::default_values() 
)

#include <CGAL/make_conforming_constrained_Delaunay_triangulation_3.h>

creates a 3D constrained Delaunay triangulation conforming to the faces of a polygon mesh.

The polygon mesh represents the polygonal constraints that will be enforced during the triangulation process.

By default, each face of the polygon mesh is considered as a polygonal constraint for the triangulation. The named parameter face_patch_map can be used to describe bigger polygonal constraints, possibly with holes. If used, the argument of that parameter must be a property map that maps each face of the polygon mesh to a patch identifier. Faces with the same patch identifier are considered as part of the same surface patch. Each of those surface patches (defined as the union of the mesh faces with a given patch id) is supposed to be a polygon or a polygon with holes, with coplanar vertices (or almost coplanar up to the precision of the number type used).

The generated triangulation will be constrained to conform to the faces of the polygon mesh, or to the surface patches described by the face_patch_map property map if provided.

Template Parameters
TriangulationAn instance of the CGAL::Conforming_constrained_Delaunay_triangulation_3 class template (or CGAL::Default).
PolygonMesha model of FaceListGraph
NamedParametersa sequence of Named Parameters

If Triangulation is CGAL::Default, the geometric traits Traits is deduced from the polygon mesh type PolygonMesh and the named parameters NamedParameters. And then the default conforming constrained Delaunay triangulation is CGAL::Conforming_constrained_Delaunay_triangulation_3<Traits>.

Parameters
meshThe polygon mesh representing the constraints.
npan optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
  • a property map associating points to the vertices of mesh
  • Type: a class model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and Traits::Point_3 as value type
  • Default: boost::get(CGAL::vertex_point, mesh)
  • Extra: If this parameter is omitted, an internal property map for CGAL::vertex_point_t
            must be available in `PolygonMesh`.</li>
    

  • an instance of a geometric traits class

  • Type: Traits
  • Default: the default constructed traits object Traits{}

  • a property map associating a patch identifier to each face of mesh
  • Type: a class model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh>::face_descriptor
           as key type and with any value type that is a *regular* type (model of `Regular`)</li>
    
  • Extra: If this parameter is omitted, each face of the mesh is considered as a separate patch.
  • Extra: Faces with the same patch identifier are considered as part of the same surface patch.

Precondition
mesh must not have self-intersections: CGAL::Polygon_mesh_processing::does_self_intersect(mesh, np) == false
Examples
Constrained_triangulation_3/conforming_constrained_Delaunay_triangulation_3.cpp, and Constrained_triangulation_3/conforming_constrained_Delaunay_triangulation_3_from_soup.cpp.