The concept ApolloniusGraphDataStructure_2 refines the concept TriangulationDataStructure_2. In addition it provides two methods for the insertion and removal of a degree 2 vertex in the data structure. The insertion method adds a new vertex to the specified edge, thus creating two new edges. Moreover, it creates two new faces that have the two newly created edges in common (see figure below). The removal method performs the reverse operation.
We only describe the additional requirements with respect to the TriangulationDataStructure_2 concept.
Vertex_handle | agds.insert_degree_2 ( Face_handle f, int i) | |
Inserts a degree two vertex and two faces adjacent to it that have two common edges. The edge defined by the face handle f and the integer i is duplicated. It returns a handle to the vertex created. |