Added vertex_base and cell_base to Mesh_triangulation_3 template params

And a placeholder for the future Concurrency_tag (unused for now)
This commit is contained in:
Clement Jamin 2013-03-25 11:45:30 +01:00
parent 35120cdf53
commit c848a6eb12
1 changed files with 18 additions and 5 deletions

View File

@ -60,18 +60,31 @@ namespace CGAL {
// Struct Mesh_triangulation_3
//
template<class MD, class K=typename Kernel_traits<MD>::Kernel>
template<class MD,
class K=typename Kernel_traits<MD>::Kernel,
class Concurrency_tag = Void,
class Vertex_base_ = Default,
class Cell_base_ = Default>
struct Mesh_triangulation_3
{
private:
typedef typename details::Mesh_geom_traits_generator<K>::type Geom_traits;
#ifdef CGAL_COMPACT_MESH_VERTEX_CELL
typedef Compact_mesh_vertex_base_3<Geom_traits, MD> Vertex_base;
typedef Compact_mesh_cell_base_3<Geom_traits, MD> Cell_base;
typedef typename Default::Get<
Vertex_base_,
Compact_mesh_vertex_base_3<Geom_traits, MD>>::type Vertex_base;
typedef typename Default::Get<
Cell_base_,
Compact_mesh_cell_base_3<Geom_traits, MD>>::type Cell_base;
#else // NOT CGAL_COMPACT_MESH_VERTEX_CELL
typedef Mesh_vertex_base_3<Geom_traits, MD> Vertex_base;
typedef Mesh_cell_base_3<Geom_traits, MD> Cell_base;
typedef typename Default::Get<
Vertex_base_,
Mesh_vertex_base_3<Geom_traits, MD>>::type Vertex_base;
typedef typename Default::Get<
Cell_base_,
Mesh_cell_base_3<Geom_traits, MD>>::type Cell_base;
#endif // NOT CGAL_COMPACT_MESH_VERTEX_CELL
typedef Triangulation_data_structure_3<Vertex_base,Cell_base> Tds;
typedef Regular_triangulation_3<Geom_traits, Tds> Triangulation;