CGAL 6.2 - Meshing and Remeshing of Polygonal Meshes
Loading...
Searching...
No Matches
Combinatorial Remeshing

Functions to modify the combinatorial structure of a polygon mesh.

Classes

struct  CGAL::Polygon_mesh_processing::Triangulate_faces::Default_visitor< class PolygonMesh >
 Default new face visitor model of PMPTriangulateFaceVisitor.
 

Functions

template<typename PolygonMesh , typename NamedParameters = parameters::Default_named_parameters>
bool CGAL::Polygon_mesh_processing::triangulate_face (typename boost::graph_traits< PolygonMesh >::face_descriptor f, PolygonMesh &pmesh, const NamedParameters &np=parameters::default_values())
 triangulates a single face of a polygon mesh.
 
template<typename FaceRange , typename PolygonMesh , typename NamedParameters = parameters::Default_named_parameters>
bool CGAL::Polygon_mesh_processing::triangulate_faces (FaceRange face_range, PolygonMesh &pmesh, const NamedParameters &np=parameters::default_values())
 triangulates given faces of a polygon mesh.
 
template<typename PolygonMesh , typename NamedParameters = parameters::Default_named_parameters>
bool CGAL::Polygon_mesh_processing::triangulate_faces (PolygonMesh &pmesh, const NamedParameters &np=parameters::default_values())
 triangulates all faces of a polygon mesh.
 
template<typename PointRange , typename PolygonRange , typename NamedParameters = parameters::Default_named_parameters>
bool CGAL::Polygon_mesh_processing::triangulate_polygons (const PointRange &points, PolygonRange &polygons, const NamedParameters &np=parameters::default_values())
 triangulates all polygons of a polygon soup.
 

Function Documentation

◆ triangulate_face()

template<typename PolygonMesh , typename NamedParameters = parameters::Default_named_parameters>
bool CGAL::Polygon_mesh_processing::triangulate_face ( typename boost::graph_traits< PolygonMesh >::face_descriptor  f,
PolygonMesh &  pmesh,
const NamedParameters &  np = parameters::default_values() 
)

#include </home/runner/work/cgal/cgal/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/triangulate_faces.h>

triangulates a single face of a polygon mesh.

This function depends on the package 2D Triangulations.

Template Parameters
PolygonMesha model of FaceListGraph and MutableFaceGraph
NamedParametersa sequence of Named Parameters
Parameters
fface to be triangulated
pmeshthe polygon mesh to which the face to be triangulated belongs
npan optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
  • a property map associating points to the vertices of pmesh
  • Type: a class model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and Point_3 as value type
  • Default: boost::get(CGAL::vertex_point, pmesh)
  • Extra: If this parameter is omitted, an internal property map for CGAL::vertex_point_t must be available in PolygonMesh.

  • 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.

This function calls CGAL::Polygon_mesh_processing::triangulate_hole_polyline(). Refer to its documentation for its named parameters.

Precondition
The face f is not degenerate.
Returns
true if the face has been triangulated.
See also
triangulate_faces()

◆ triangulate_faces() [1/2]

template<typename FaceRange , typename PolygonMesh , typename NamedParameters = parameters::Default_named_parameters>
bool CGAL::Polygon_mesh_processing::triangulate_faces ( FaceRange  face_range,
PolygonMesh &  pmesh,
const NamedParameters &  np = parameters::default_values() 
)

#include </home/runner/work/cgal/cgal/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/triangulate_faces.h>

triangulates given faces of a polygon mesh.

This function depends on the package 2D Triangulations.

Template Parameters
FaceRangerange of boost::graph_traits<PolygonMesh>::face_descriptor, model of Range. Its iterator type is InputIterator.
PolygonMesha model of FaceListGraph and MutableFaceGraph
NamedParametersa sequence of Named Parameters
Parameters
face_rangethe range of faces to be triangulated
pmeshthe polygon mesh to be triangulated
npan optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
  • a property map associating points to the vertices of pmesh
  • Type: a class model of ReadWritePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and Point_3 as value type
  • Default: boost::get(CGAL::vertex_point, pmesh)
  • Extra: If this parameter is omitted, an internal property map for CGAL::vertex_point_t must be available in PolygonMesh.

  • 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.

This function calls CGAL::Polygon_mesh_processing::triangulate_hole_polyline() for each face. Refer to its documentation for its named parameters.

Precondition
No face within face_range is degenerate.
Returns
true if all the faces have been triangulated.
See also
triangulate_face()
triangulate_polygons()
Examples
Polygon_mesh_processing/remesh_planar_patches.cpp, Polygon_mesh_processing/triangulate_faces_example.cpp, and Polygon_mesh_processing/triangulate_faces_split_visitor_example.cpp.

◆ triangulate_faces() [2/2]

template<typename PolygonMesh , typename NamedParameters = parameters::Default_named_parameters>
bool CGAL::Polygon_mesh_processing::triangulate_faces ( PolygonMesh &  pmesh,
const NamedParameters &  np = parameters::default_values() 
)

#include </home/runner/work/cgal/cgal/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/triangulate_faces.h>

triangulates all faces of a polygon mesh.

This function depends on the package 2D Triangulations.

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

  • 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.

This function calls CGAL::Polygon_mesh_processing::triangulate_hole_polyline() on all the faces of the polygon mesh. Refer to its documentation for its named parameters.

Precondition
No face of pmesh is degenerate.
Returns
true if all the faces have been triangulated.
See also
triangulate_face()
triangulate_polygons()

◆ triangulate_polygons()

template<typename PointRange , typename PolygonRange , typename NamedParameters = parameters::Default_named_parameters>
bool CGAL::Polygon_mesh_processing::triangulate_polygons ( const PointRange &  points,
PolygonRange &  polygons,
const NamedParameters &  np = parameters::default_values() 
)

#include </home/runner/work/cgal/cgal/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/triangulate_faces.h>

triangulates all polygons of a polygon soup.

This function depends on the package 2D Triangulations.

Template Parameters
PointRangea model of ConstRange. The value type of its iterator is the point type.
PolygonRangea model of the concepts SequenceContainer and Swappable, whose value_type is itself a model of the concept SequenceContainer whose value_type is std::size_t.
NamedParametersa sequence of Named Parameters
Parameters
pointsthe point geometry of the soup to be triangulated
polygonsthe polygons to be triangulated
npan optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
  • a property map associating points to the elements of the point set points
  • Type: a model of ReadablePropertyMap whose key type is the value type of the iterator of PointRange and whose value type is geom_traits::Point_3
  • Default: CGAL::Identity_property_map<geom_traits::Point_3>

  • 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.

  • a visitor that enables to track how polygons are divided into triangles
  • Type: a class model of PMPTriangulateFaceVisitor and PMPHolefillingVisitor
  • Default: Triangulate_polygons::Default_visitor
  • Extra: Note that the visitor will be copied, so it must not have any data member that does not have a reference-like type.

This function calls CGAL::Polygon_mesh_processing::triangulate_hole_polyline() for each polygon. Refer to its documentation for its named parameters.

Precondition
No polygon within polygons is degenerate.
Returns
true if all the polygons have been triangulated.
See also
triangulate_faces()