A class Tds<Vb,Fb> that satisfies the requirements for a triangulation traits class must provide the following types and operations.
| |
Requirement for this type are described in
section ![]()
| |
| |
Requirements for this type are described in
described ![]()
|
The following iterators allow to visit all the vertices, edges and faces of the triangulation data structure. They are all bidirectional, non mutable iterators.
| |
| |
|
The following circulators allow to visit all the vertices, edges and faces incident to a given vertex. They are all bidirectional and non mutable.
| |
| |
|
| |
A default constructor.
| |
| |
Introduces a triangulation data structure tds that is
initialized with a set of vertices and faces that are linked to
vertex v. If v has no incident face the triangulation
consists only of v. Otherwise v must be the vertex at
infinity.
| |
| |
Copy constructor. All the vertices and faces are duplicated.
|
|
| Assignation. All the vertices and faces are duplicated. |
|
| |
Swap tds and tds1. Should be preferred to tds= tds1 or tds(tds1) when tds1 is deleted after that. | ||
|
| Destructor. All vertices and faces are deleted. |
|
| The dimension of the convex hull. |
|
| |
The number of finite vertices. |
|
| |
true, iff vertex *v is the infinite_vertex. | ||
|
| |
true, iff one of the vertices of *f is the infinite_vertex. | ||
|
| |
true, iff one of the vertices cw(i) or ccw(i) of face *f is the infinite_vertex. | ||
|
| |
true, iff one of the vertices of edge e is the infinite_vertex. | ||
|
| |
true, iff one of the vertices of edge e is the infinite_vertex. | ||
|
| |
true, iff one of the vertices of edge *ei is the infinite_vertex. | ||
|
| |
A face incident to the infinite_vertex. | ||
|
| |
The infinite vertex. | ||
|
| |
A vertex different from the infinite_vertex. |
|
| |
|
| |
|
|
The following modifier member functions guarantee the combinatorial validity of the resulting triangulation.
|
| |
Exchange the edge incident to *f and f->neighbor(i) with the other diagonal of the quadrilateral formed by f and f->neighbor(i). |
|
| |
Insert the first finite vertex . | ||
|
| |
Insert the second finite vertex . | ||
|
| |
Insert vertex v in face f. Face f is modified, two new faces are created |
|
| |||
Insert vertex v in edge i of f* | ||||
|
| |||
insert in a 1 dimensional triangulation a vertex which is collinear to the triangulation and outside the convex hull. loc->vertex(li) is the vertex of the triangulation closest to v. | ||||
|
| |||
remove a vertex of degree 3. Two of the incident faces are
destroyed, the third one is modified. If parameter f is
specified, it has to be a face incident to v and will be the
modified face. Precondition: Vertex v is a finite vertex with degree 3 and, if specified, face f is incident to v. | ||||
|
| |||
remove the before last finite vertex. | ||||
|
| |||
remove the last finite vertex. | ||||
|
| Delete all faces and all finite vertices. |
|
|
|
|
|
|
|
| |
|
| |
|
|
|
|
|
|
|
Returns modulo
3. Precondition: . |
|
|
Returns modulo
3. Precondition: . |
|
| |
Returns the number of finite faces. | ||
|
| Check the combinatorial validity of the triangulation. |