CGAL 6.1.2 - Polygon Mesh Processing: PMPAutorefinementVisitor Concept Reference

CGAL 6.1.2 - Polygon Mesh Processing

Loading...
Searching...
No Matches
List of all members
PMPAutorefinementVisitor Concept Reference
Reference Manual » Concepts

## Definition

The concept `PMPAutorefinementVisitor` defines the requirements for the visitor used in `CGAL::Polygon_mesh_processing::autorefine_triangle_soup()` to track the creation of new triangles.

Refines
  `CopyConstructible`

Has models
  `CGAL::Polygon_mesh_processing::Autorefinement::Default_visitor`

## Functions called only if at least one intersection has been found
void | number_of_output_triangles (std::size_t nbt)
| called when the final number of output triangles is known, `nbt` being the total number of triangles in the output.
void | verbatim_triangle_copy (std::size_t tgt_id, std::size_t src_id)
| called for triangle with no intersection, `tgt_id` is the position in the triangle container after calling `autorefine_triangle_soup()`, while `src_id` was its position before calling the function.
void | new_subtriangle (std::size_t tgt_id, std::size_t src_id)
| called for each subtriangle created from a triangle with intersection, `tgt_id` is the position in the triangle container after calling `autorefine_triangle_soup()` of the subtriangle, while `src_id` was the position of the original support triangle before calling the function.
void | delete_triangle (std::size_t src_id)
| called for each input triangle absent in the output because it was degenerate. `src_id` is the position of that triangle in the input range. Additionally, if `apply_iterative_snap_rounding()` is set to `true`, some extra triangles might become degenerate and will be absent in the output. Those triangles are also reported by this function.