\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.14.2 - Polygon Mesh Processing
PMPCorefinementVisitor Concept Reference

Definition

The concept PMPCorefinementVisitor defines the requirements for the visitor used in corefinement-related functions to track the creation of new faces.

Refines:
CopyConstructible
Has Models:
CGAL::Polygon_mesh_processing::Corefinement::Default_visitor.

Public Types

typedef unspecified_type Triangle_mesh
 Mesh type.
 
typedef unspecified_type face_descriptor
 Face decriptor type.
 

Functions used by corefine()

void before_subface_creations (face_descriptor f_split, Triangle_mesh &tm)
 called before the triangulation of f_split in tm. More...
 
void after_subface_creations (Triangle_mesh &tm)
 called when the triangulation of a face in tm is finished
 
void before_subface_created (Triangle_mesh &tm)
 called before creating a new triangle face in tm to triangulate the face passed to before_subface_creations()
 
void after_subface_created (face_descriptor f_new, Triangle_mesh &tm)
 called after creating a new triangle face f_new in tm to triangulate the face passed to before_subface_creations(). More...
 

Functions used by Boolean operations functions using corefinement.

These functions are not needed if you only call corefine().

void before_face_copy (face_descriptor f_src, Triangle_mesh &tm_src, Triangle_mesh &tm_tgt)
 called before importing the face f_src of tm_src in tm_tgt
 
void after_face_copy (face_descriptor f_src, Triangle_mesh &tm_src, face_descriptor f_tgt, Triangle_mesh &tm_tgt)
 called after importing the face f_src of tm_src in tm_tgt. More...
 

Member Function Documentation

◆ after_face_copy()

void PMPCorefinementVisitor::after_face_copy ( face_descriptor  f_src,
Triangle_mesh tm_src,
face_descriptor  f_tgt,
Triangle_mesh tm_tgt 
)

called after importing the face f_src of tm_src in tm_tgt.

The new face is f_tgt. Note that the call is placed just after a call to add_face() so the halfedge pointer is not set yet.

◆ after_subface_created()

void PMPCorefinementVisitor::after_subface_created ( face_descriptor  f_new,
Triangle_mesh tm 
)

called after creating a new triangle face f_new in tm to triangulate the face passed to before_subface_creations().

Note that the call is placed just after a call to add_face() so the halfedge pointer is not set yet.

◆ before_subface_creations()

void PMPCorefinementVisitor::before_subface_creations ( face_descriptor  f_split,
Triangle_mesh tm 
)

called before the triangulation of f_split in tm.

Note that f_split will be one of the faces of the triangulation. Each subsequent call to before_subface_created()/after_subface_created() will correspond to the creation of a new face of the triangulation of f_split.