\begin{ccRefClass}{Triangulation_data_structure} \ccDefinition This class is used for storing the combinatorial information of a triangulation of dimension $k\leq d$. \ccInclude{CGAL/Triangulation_data_structure.h} \ccParameters \ccc{Dimensionality} can be either \begin{itemize} \item \ccPureGlobalScope\ccc{Dimension_tag} for some integer \ccc{d}. This indicates that the triangulation data structure can store simplices (full cells) of dimension at most \ccc{d}. The maximum dimension \ccc{d} is known by the compiler, which triggers some optimizations. Or \item \ccPureGlobalScope\ccc{Dynamic_dimension_tag}. In this case, the maximum dimension of the simplices (full cells) is passed as an integer argument to an instance constructor (see \ccc{TriangulationDataStructure}).\end{itemize} \ccc{TriangulationDSVertex} is the class to be used as the base \ccc{Vertex} type in the triangulation data structure. It must be a model of the concept \ccc{TriangulationDSVertex}. The class template \ccRefName\ can be defined by specifying only the first parameter. It also accepts the tag \ccc{CGAL::Default} as second parameter. In both cases, \ccc{TriangulationDSVertex} defaults to \ccc{CGAL::Triangulation_ds_vertex<>}. \ccc{TriangulationDSFullCell} is the class to be used as the base \ccc{Full_cell} type in the triangulation data structure. It must be a model of the concept \ccc{TriangulationDSFullCell}. The class template \ccRefName\ accepts that no third parameter be specified. It also accepts the tag \ccc{CGAL::Default} as third parameter. In both cases, \ccc{TriangulationDSFullCell} defaults to \ccc{CGAL::Triangulation_ds_full_cell<>}. \ccIsModel \ccc{TriangulationDataStructure}. In addition, the class \ccRefName\ provides the following types and methods: \ccCreation \ccCreationVariable{t} \ccConstructor{XXXXXXX(const Triangulation_data_structure & t2);} {The copy constructor. Creates a copy of the \ccRefName\ \ccc{t2} passed as argument. All vertices and full cells are duplicated.} \begin{ccAdvanced} \ccTypes \ccNestedType{Full_cell_data} {A data member of type \ccc{Full_cell_data} is stored in every full cell (models of the concept \ccc{TriangulationDSFullCell}). It is used to mark some full cells, during modifications of the triangulation data structure.} \ccHeading{Vertex insertion} % - - - - - - - - - - - - - - - - - - INSERTIONS \ccMethod{template< OutputIterator > Full_cell_handle insert_in_tagged_hole( Vertex_handle v, Facet f, OutputIterator new_full_cells);} {A set \ccc{C} of full cells satisfying the same condition as in method \ccRefName\ccc{::insert_in_hole()} is assumed to be marked. This method creates new full cells from vertex \ccc{v} to the boundary of \ccc{C}. The boundary is recognized by checking the mark of the full cells. This method is used by \ccRefName\ccc{::insert_in_hole()}.} \end{ccAdvanced} \ccSeeAlso \ccc{Triangulation_ds_vertex}\\ \ccc{Triangulation_ds_full_cell}\\ \ccc{Triangulation} \end{ccRefClass}