## ApolloniusGraphVertexBase_2

### Definition

The concept ApolloniusGraphVertexBase_2 describes the requirements for the vertex base class of the ApolloniusGraphDataStructure_2 concept. A vertex stores an Apollonius site and provides access to one of its incident faces through a Face_handle. In addition, it maintains a container of sites. The container stores the hidden sites related to the vertex.

### Types

ApolloniusGraphVertexBase_2::Geom_traits
| A type for the geometric traits that defines the site stored. Precondition: The type Geom_traits must define the type Site_2.
ApolloniusGraphVertexBase_2::Store_hidden
| A boolean that indicates if hidden sites are actually stored or not. Its value is true if hidden sites are stored, false otherwise.
ApolloniusGraphVertexBase_2::Site_2
| A type for the site stored. Precondition: This type must coincide with the type Geom_traits::Site_2.
ApolloniusGraphVertexBase_2::Apollonius_graph_data_structure_2
| A type for the Apollonius graph data structure, to which the vertex belongs to.
ApolloniusGraphVertexBase_2::Vertex_handle
| A type for the vertex handle of the Apollonius graph data structure.
ApolloniusGraphVertexBase_2::Face_handle
| A type for the face handle of the Apollonius graph data structure.
ApolloniusGraphVertexBase_2::Hidden_sites_iterator
| An iterator that iterates over the hidden sites in the hidden sites container of the vertex. Precondition: Must be a model of Iterator.

### Creation

ApolloniusGraphVertexBase_2 v;
| Default constructor.
ApolloniusGraphVertexBase_2 v ( Site_2 s);
| Constructs a vertex associated with the Apollonius site s and embedded at the center of s.
ApolloniusGraphVertexBase_2 v ( Site_2 s, Face_handle f);
| Constructs a vertex associated with the site s, embedded at the center of s, and pointing to the face associated with the face handle f.

### Access Functions

Site_2 | v.site () | Returns the Apollonius site.
Face_handle | v.face () | Returns a handle to an incident face.
unsigned int | v.number_of_hidden_sites ()
|  | Returns the number of hidden sites in the hidden sites container.
Hidden_sites_iterator
| v.hidden_sites_begin ()
|  | Starts at an arbitrary hidden site.
Hidden_sites_iterator
| v.hidden_sites_end ()
|  | Past-the-end iterator.

### Setting and unsetting

void | v.set_site ( Site_2 s)
|  | Sets the Apollonius site.
void | v.set_face ( Face_handle f)
|  | Sets the incident face.
void | v.add_hidden_site ( Site_2 s)
|  | Adds a hidden site to the container of hidden sites.
void | v.clear_hidden_sites_container ()
|  | Clears the container of hidden sites.

### Checking

bool | v.is_valid ( bool verbose, int level)
|  | Performs any required tests on a vertex.

### Has Models

CGAL::Apollonius_graph_vertex_base_2<Gt,StoreHidden>.

### See Also

ApolloniusGraphDataStructure_2
ApolloniusGraphTraits_2
CGAL::Apollonius_graph_vertex_base_2<Gt,StoreHidden>