The class is templated by a geometric traits class Gt and a triangulation data structure Tds. There are no special requirements for the triangulation data structure of a constrained Delaunay triangulations and the requirements for this class are those described in section . The geometric traits of a constrained Delaunay triangulation is required to provide the side_of_oriented_circle test as the geometric traits of a Delaunay triangulation and the requirements for this traits are described in section .
A constrained Delaunay triangulation is not a Delaunay triangulation but it is a constrained triangulation. Therefore the class Constrained_Delaunay_triangulation_2<Gt,Tds> derives from the class Constrained_triangulation_2<Gt,Tds>. Also, information about the status (constrained or not) of the edges of the triangulation has to be stored in the face class and the requirements for the base face class of a constrained Delaunay triangulation are identical to those described in section for the face base class of a constrained triangulation.
#include <CGAL/Constrained_triangulation_2.h>
| |||
Introduces an empty constrained Delaunay triangulation cdt.
| |||
| |||
Copy constructor, all faces and vertices
are duplicated and the constrained status of edges
is copied. This last feature is not yet implemented.
| |||
| |||
Introduces a constrained triangulation, the constrained edges of which
are the edges of the list lc.
| |||
| |||
| |||
A templated constructor which introduces and builds
a constrained triangulation with constrained edges in the range
first, last. Precondition: The value_type of first and last is Constraint.
|
|
| |
Determines if edge (f,i) can be flipped. Returns true if 1. edge(f,i) is not constrained and 2. the circle circumscribing f does not contain the vertex of f->neighbor(i) not on edge(f,i). | ||
|
| |
Flip f and f->neighbor(i). Precondition: f->is_constrained(i) == FALSE. | ||
|
| |
Makes the triangulation constrained Delaunay by flipping edges. List edges contains an initial list of edges to be flipped. The returned triangulation is constrained Delaunay if the list edges contains all edges of the input triangulation that need to be flipped (plus possibly others). |
|
| |||
Inserts point a in the triangulation. | ||||
|
| |||
Inserts segment ab as a constrained edge in the triangulation. | ||||
|
| |||
Inserts the line segment whose endpoints are the vertices va and vb as an edge e in the triangulation. | ||||
|
| |||
Same as the previous procedure. In addition, returns f and i such that e=(f,i) and f is the face lying to the right of the oriented edge (va,vb). | ||||
|
| |||
Removes vertex v. |
|
| Checks if the triangulation is valid and if each constrained edge is a constraint for its two incident faces. |