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 subconstraints 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>

 the triangulation base class. 

 the intersection tag.s 
 
An iterator to visit
all the input constraints. The order of visit is arbitrary.
The value type of this iterator is a pair
std::pair<Vertex_handle, Vertex_handle> corresponding to the
endpoints of the constraint.
 
 
An iterator
to visit all the subconstraints of the triangulation.
The order of visit is arbitrary.
The value type of this iterator is a pair
std::pair<Vertex_handle, Vertex_handle>
correponding to the vertices of the
subconstraint.
 
 
An iterator on the
vertices of the chain of triangulation edges representing a
constraint. The value type of this iterator is Vertex_handle.

 
Introduces an empty triangulation.
 
 
Copy constructor.
 
 
Introduces and builds a constrained triangulation
from the list of constraints lc.
 
 
 
Introduces and builds a constrained triangulation
from the constraints in the range
$$[.first, last$$.). Precondition: The value_type of first and last is Constraint.


 Destructor. All vertices and faces are deleted. The constraint hierarchy is deleted. 
 
 
Assignment. All the vertices and faces are duplicated. The constraint hierarchy is also duplicated.  

 
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. 

 
Inserts point p as a vertex of the triangulation.  

 
inserts a point p whose location is assumed to be given by (lt,loc,li).  

 
Equivalent to insert(p).  
 

 
Inserts the points in the range
$$[.first, last$$.).
Returns the number of inserted points. Precondition: The value_type of first and last is Point.  

 
Inserts the constraint segment ab in the triangulation.  

 
Inserts the constraint c.  

 
Inserts a constraint whose endpoints are the vertices pointed by va and vb in the triangulation.  

 
Removes the constraint joining the vertices pointed by va and vb. Precondition: va and vb have to refer to the endpoint vertices of an input constraint. 