| |
represents a vertex of the topological map.
| |
| |
represents a halfedge of the topological map.
| |
| |
represents a face of the topological map.
|
The following handles, iterators and circulators have appropriate constant[^1] counterparts. The mutable types are assignable to their constant counterparts. Both circulators are assignable to the Halfedge_iterator. The iterators are assignable to the respective handle types. Wherever the handles appear in function parameter lists, the appropriate iterator can be used as well.
| |
handle to vertex.
| |
| |
handle to halfedge.
| |
| |
handle to face.
| |
| |
a bidirectional iterator over the vertices of the topological map.
Its value-type is Vertex.
| |
| |
a bidirectional iterator over the halfedges of the topological map.
Its value-type is Halfedge.
| |
| |
a bidirectional iterator over the faces of the topological map. Its
value-type is Face.
| |
| |
a forward circulator over the halfedges of a CCB (connected
component of the boundary). Its value-type is Halfedge.
| |
| |
a forward circulator over the halfedges that have the vertex as
their target.
Its value-type is Halfedge.
| |
| |
a bidirectional iterator to traverse all the holes ( i.e., inner
CCBs) of a face (Holes_iterator++ is the next hole in the
face). Its value type is Ccb_halfedge_circulator.
|
| |
constructs an empty map - containing one unbounded face.
|
|
| |||
inserts cv as a new edge between the vertices v1 and
v2 which are the target of previous1 and
previous2 respectively. The return value is the new halfedge
that has v1 as its source. If a new face is created it will
be, by definition, the face incident to the halfedge returned
- this means that the order of the vertices on the new face will
be . This sets
a requirement on the users (e.g, CGAL_Planar_map_2) to call
the function with the arguments in the right order (i.e., the order
that will give the desired face). Insertion at vertices may require
updating of the holes (since a new face can be created that
contains some of the holes of the old face). To update the holes
the function move_hole() should be called by the user.
Precondition: previous1 and previous2 have the same incident face. Precondition: previous1 and previous2 do not have the same target vertex (i.e., no loop). | ||||
|
| |||
moves the hole represented by the halfedge e from the face f1 to f2. Returns false if e does not represent a hole in f1, and true otherwise. | ||||
|
| |||
inserts a new edge for which one endpoint, v1 that is the
target of previous, is already in the map.
The return value is the new halfedge that has v1 as its source. | ||||
|
| |||
inserts an edge as a new inner component of f. The return value is the new halfedge. | ||||
|
| |||
splits the edge e into e1 and e2 , and add a
new vertex in the splitting point.
The return value is the halfedge (e1 or e2) with the same source vertex that e had. | ||||
|
| |||
merges the two consecutive edges e1 and e2 into one
edge. The return value is the halfedge with the same source vertex
that e1 had and the same target e2 had. This
operation is the inverse of the split_edge operation.
Precondition: e1 and e2 are consecutive halfedges (i.e., e1.target()==e2.source()). Precondition: There is no other edge attached to the vertex between e1 and e2 (i.e., its degree is exactly 2). | ||||
|
| |||
removes the edge referenced by e from tpm. If the operation causes two faces to merge, the merged face is returned. Otherwise, the face in which the edge was incident is returned. The removal of an edge might create a new hole inside the face (e.g., when removing an edge in the interior of an ``antenna''). In this case by definition e points at the new hole created (i.e., the path from e to its twin goes over the new hole) and its twin points at the outer CCB (i.e., the path from e->twin() to e passes over the outer CCB). This sets a requirement on the users to define which halfedge (e or e->twin()) should be given as the parameter. | ||||
|
| |||
returns the unbounded face of tpm. | ||||
|
| returns the begin-iterator of the faces in tpm. | ||
|
| returns the past-the-end iterator of the faces in tpm. | ||
|
| |||
returns the begin-iterator of the halfedges in tpm. | ||||
|
| |||
returns the past-the-end iterator of the halfedges in tpm. | ||||
|
| |||
returns the begin-iterator of the vertices in tpm. | ||||
|
| |||
return the past-the-end iterator of the vertices in tpm. | ||||
|
| checks the validity of all the features of tpm. Check for each vertex v whether all incident halfedges (by performing next()->twin()) have v as their target. Check that all the edges on the boundary of each face f point to f as their face. | ||
|
| |||
|
| |||
|
|