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