CGAL 6.2 - Polygon Mesh Processing

Loading...
Searching...
No Matches
List of all members | Public Types
PMPTriangulateFaceVisitor Concept Reference
Reference Manual » Concepts

## Definition

The concept `PMPTriangulateFaceVisitor` defines the requirements for the visitor used in triangulation-related functions to track the creation of new faces.

Refines
  `CopyConstructible`

Has models
  `CGAL::Polygon_mesh_processing::Triangulate_faces::Default_visitor,CGAL::Polygon_mesh_processing::Triangulate_polygons::Default_visitor`

## Public Types
typedef unspecified_type | face_descriptor
| Face descriptor type.
typedef unspecified_type | vertex_descriptor
| Vertex descriptor type.

## Functions used by triangulate_face() and triangulate_faces()
void | before_subface_creations (face_descriptor f_split)
| called before the triangulation of `f_split`.
void | after_subface_creations ()
| called when the triangulation of a face in `tm` is finished.
void | after_subface_created (face_descriptor f_new)
| called after creating a new triangle face `f_new` to triangulate the face passed to `before_subface_creations()`.
bool | accept_face (face_descriptor f, vertex_descriptor v0, vertex_descriptor v1, vertex_descriptor v2)
| called before considering a triangle made of vertices `(v0,v1,v2)` to triangulate `f`.

## Member Function Documentation

## ◆ accept_face()

bool PMPTriangulateFaceVisitor::accept_face | ( | face_descriptor | f,
|  | vertex_descriptor | v0,
|  | vertex_descriptor | v1,
|  | vertex_descriptor | v2
| ) |  |

called before considering a triangle made of vertices `(v0,v1,v2)` to triangulate `f`.

If `false` is returned, the triangle will not be used. If `true` is returned, the triangle will be added to the candidate triangles.

## ◆ after_subface_created()

void PMPTriangulateFaceVisitor::after_subface_created | ( | face_descriptor | f_new | ) |

called after creating a new triangle face `f_new` 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 PMPTriangulateFaceVisitor::before_subface_creations | ( | face_descriptor | f_split | ) |

called before the triangulation of `f_split`.

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