## TriangulationDataStructure_2::Vertex

### Definition

The concept TriangulationDataStructure_2::Vertex describes the type used by a TriangulationDataStructure_2 to store the vertices.

Some of the requirements listed below are of geometric nature and are optional when using the triangulation data structure class alone. They became required when the triangulation data structure is plugged into a triangulation.

### Types

The class TriangulationDataStructure_2::Vertex defines the same types as the triangulation data structure except the iterators.

TriangulationDataStructure_2::Vertex::Point
| Optional for the triangulation data structure used alone.

### Creation

In order to obtain new vertices or destruct unused vertices, the user must call the create_vertex() and delete_vertex() methods of the triangulation data structure.

### Access Functions

Point | v.point () | returns the geometric information of v.
Face_handle | v.face () | returns a face of the triangulation having v as vertex.

| advanced |

### Setting

void | v.set_point ( Point p)
|  | sets the geometric information to p.
void | v.set_face ( Face_handle f)
|  | sets the incident face to f.

| advanced |

### Checking

bool | v.is_valid ( bool verbose = false)
|  | Checks the validity of the vertex. Must check that its incident face has this vertex. The validity of the base vertex is also checked. When verbose is set to true, messages are printed to give a precise indication on the kind of invalidity encountered.

### Miscellaneous

int | v.ccw ( int i) | Returns i+1 modulo 3. Precondition: 0 i 2.
int | v.cw ( int i) | Returns i+2 modulo 3. Precondition: 0 i 2.
size_type | v.degree () | Returns the degree of v in the triangulation.

### Has Models

CGAL::Triangulation_ds_vertex_2<Vb,Fb>

### See Also

TriangulationDataStructure_2
TriangulationDataStructure_2::Face