CGAL 6.2 - Polygon Mesh Processing
Loading...
Searching...
No Matches
PMPHolefillingVisitor Concept Reference

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
successtrue 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
successtrue 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
nthe 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
nthe upperbound on the number of steps