The class Constrained_triangulation_plus_2<Tr> implements a constrained triangulation with an additional data structure called the constraint hierarchy that keeps track of the input constraints and of their refinement in the triangulation.
The class Constrained_triangulation_plus_2<Tr> inherits from its template parameter Tr, which has to be instantiated by a constrained or constrained Delaunay triangulation.
According to its intersection tag, the base class will support intersecting input constraints or not. When intersections of input constraints are supported, the base class constructs a triangulation of the arrangement of the constraints, introducing new vertices at each proper intersection point and refining the input constraints into sub-constraints which are edges (more precisely constrained edges) of the triangulation. In this context, the constraint hierarchy keeps track of the input constraints and of their refinement in the triangulation. This data structure maintains for each input constraints the sequence of intersection vertices added on this constraint. The constraint hierarchy also allows the user to retrieve the set of constrained edges of the triangulation, and for each constrained edge, the set of input constraints that overlap it.
#include <CGAL/Constrained_triangulation_plus_2.h>
typedef Tr | Triangulation; | the triangulation base class. |
typedef Itag | Intersection_tag; | the intersection tag.s |
Constrained_triangulation_plus_2<Tr> ctp ( Geom_traits gt=Geom_traits()); | |||
Introduces an empty triangulation.
| |||
Constrained_triangulation_plus_2<Tr> ctp ( Constrained_triangulation_plus_2 ct); | |||
Copy constructor.
| |||
Constrained_triangulation_plus_2<Tr> ctp ( std::list<Constraint>& lc, Geom_traits t = Geom_traits()); | |||
Introduces and builds a constrained triangulation
from the list of constraints lc.
| |||
template<class InputIterator> | |||
Constrained_triangulation_plus_2<Tr> ctp ( InputIterator first, InputIterator last, Geom_traits gt= Geom_traits()); | |||
Introduces and builds a constrained triangulation
from the constraints in the range
[.first, last.).
|
void ~ | ctp () | Destructor. All vertices and faces are deleted. The constraint hierarchy is deleted. |
Constrained_triangulation_plus_2 | ctp = Constrained_triangulation_plus_2 tr | |
Assignment. All the vertices and faces are duplicated. The constraint hierarchy is also duplicated. | ||
void | ctp.swap ( Constrained_triangulation_plus_2 tr) | |
The triangulations tr and ctp are swapped. This operation should be preferred to ctp = tr or to t(tr) if tr is deleted after that. |
Vertex_handle | ctp.insert ( Point p, Face_handle start = Face_handle()) | |||
Inserts point p as a vertex of the triangulation. | ||||
Vertex_handle | ctp.insert ( Point p, Locate_type lt, Face_handle loc, int li) | |||
inserts a point p whose location is assumed to be given by (lt,loc,li). | ||||
Vertex_handle | ctp.push_back ( Point p) | Equivalent to insert(p). | ||
template < class InputIterator > | ||||
size_type | ctp.insert ( InputIterator first, InputIterator last) | |||
Inserts the points in the range
[.first, last.).
Returns the number of inserted points.
| ||||
void | ctp.insert_constraint ( Point a, Point b) | |||
Inserts the constraint segment ab in the triangulation. | ||||
void | ctp.push_back ( Constraint c) | Inserts the constraint c. | ||
void | ctp.insert_constraint ( Vertex_handle va, Vertex_handle vb) | |||
Inserts a constraint whose endpoints are the vertices pointed by va and vb in the triangulation. | ||||
void | ctp.remove_constraint ( Vertex_handle va, Vertex_handle vb) | |||
Removes the constraint joining the vertices pointed by va and vb.
|
Constraint_iterator | ctp.constraints_begin () const | Returns a Constraint_iterator pointing on the first constraint. | ||
Constraint_iterator | ctp.constraints_end () const | Returns a Constraint_iterator pointing past the last constraint. | ||
Subconstraint_iterator | ctp.subconstraints_begin () const | Returns a Subconstraint_iterator pointing on the first sub-constraint. | ||
Subconstraint_iterator | ctp.subconstraints_end () const | Returns a Subconstraint_iterator pointing past the last sub-constraint. | ||
int | ctp.number_of_enclosing_constraints ( Vertex_handle va, Vertex_handle vb) | |||
Returns the number of constraints enclosing the sub-constraint
(va,vb).
| ||||
Context | ctp.context ( Vertex_handle va, Vertex_handle vb) | |||
Returns the Context relative to one of the constraint
enclosing the sub-constraint (va,vb).
| ||||
Context_iterator | ctp.contexts_begin ( Vertex_handle va, Vertex_handle vb) | |||
Returns an iterator pointing on the first Context
of the sequence of Contexts
corresponding to the constraints enclosing the sub-constraint(va,vb).
| ||||
Context_iterator | ctp.contexts_end ( Vertex_handle va, Vertex_handle vb) | |||
Returns an iterator past the last Context
of the sequence of Contexts
corresponding to the constraints enclosing the (va,vb).
| ||||
Vertices_in_constraint_iterator | ctp.vertices_in_constraint_begin ( Vertex_handle va, Vertex_handle vb) | |||
Returns an iterator on the first vertex on the constraint
(va,vb)
| ||||
Vertices_in_constraint_iterator | ctp.vertices_in_constraint_end ( Vertex_handle va, Vertex_handle vb) | |||
Returns an iterator past the last vertex on the constraint
(va,vb)
|