CGAL 6.2 - Polygon Mesh Processing

Loading...
Searching...
No Matches
List of all members | Public Member Functions
PMPHolefillingVisitor Concept Reference
Reference Manual » Concepts

## Definition

The concept `PMPHolefillingVisitor` defines the requirements for the visitor used in hole-filling-related functions . The hole filling may use a 2D constrained triangulation for almost planar holes (planar phase). If that is not appropriate or fails it may use an algorithm with a quadratic running time relying on the 3D Delaunay triangulation (quadratic phase). If that fails, it uses an algorithm with cubic running time (cubic phase).

Refines
  `CopyConstructible`

Has models
  `CGAL::Polygon_mesh_processing::Hole_filling::Default_visitor`

## Public Member Functions
void | start_planar_phase () const
| called when the planar hole filling algorithm starts.
void | end_planar_phase (bool success) const
| called when the planar hole filling algorithm stops.
void | start_quadratic_phase (std::size_t n) const
| called when the algorithm with quadratic running time starts.
void | quadratic_step () const
| called at each step.
void | end_quadratic_phase (bool success) const
| called when the algorithm with quadratic running time ends.
void | start_cubic_phase (std::size_t n) const
| called when the algorithm with cubic running time starts.
void | cubic_step () const
| called at each step. This will be called `n` times.
void | end_cubic_phase () const
| called when the algorithm with cubic running time ends.
void | start_refine_phase ()
| called before refining the triangulation of the hole (`triangulate_and_refine_hole()` and `triangulate_refine_and_fair_hole()` only)
void | end_refine_phase ()
| called after having refined the triangulation of the hole (`triangulate_and_refine_hole()` and `triangulate_refine_and_fair_hole()` only)
void | start_fair_phase ()
| called before fairing the triangulation of the hole (`triangulate_refine_and_fair_hole()` only)
void | end_fair_phase ()
| called after having faired the triangulation of the hole (`triangulate_refine_and_fair_hole()` only)
bool | accept_triangle (int i0, int i1, int i2)
| called before considering a triangle made from the points with indices i0, i1, and i2 to triangulate a hole.

## Member Function Documentation

## ◆ accept_triangle()

bool PMPHolefillingVisitor::accept_triangle | ( | int | i0,
|  | int | i1,
|  | int | i2
| ) |  |

called before considering a triangle made from the points with indices i0, i1, and i2 to triangulate a hole.

The indices refers to the position of the points in the input point range if triangulating a polyline, or to the position of the vertices along the cycle of halfedges of the input border halfedge if triangulating a hole in a polygon mesh (`0` being the target of the input border halfedge, `1` the target of the next border halfedge, ...). If `false` is returned, the triangle will not be used. If `true` is returned, the triangle will be added to the candidate triangles.

## ◆ end_planar_phase()

void PMPHolefillingVisitor::end_planar_phase | ( | bool | success | ) | const

called when the planar hole filling algorithm stops.

Parameters

  success | `true` when the hole could be filled in this phase.

## ◆ end_quadratic_phase()

void PMPHolefillingVisitor::end_quadratic_phase | ( | bool | success | ) | const

called when the algorithm with quadratic running time ends.

Parameters

  success | `true` when the hole could be filled in this phase.

## ◆ quadratic_step()

void PMPHolefillingVisitor::quadratic_step | ( |  | ) | const

called at each step.

There may be less than `n` calls as this is an upperbound.

## ◆ start_cubic_phase()

void PMPHolefillingVisitor::start_cubic_phase | ( | std::size_t | n | ) | const

called when the algorithm with cubic running time starts.

Parameters

  n | the upperbound on the number of steps

## ◆ start_quadratic_phase()

void PMPHolefillingVisitor::start_quadratic_phase | ( | std::size_t | n | ) | const

called when the algorithm with quadratic running time starts.

Parameters

  n | the upperbound on the number of steps