My actual goal is to add additional information to the vertices in a D-dimensional CGAL Delaunay-Triangulation. Analogous to the 2D and 3D triangulations (where this is described in the manual), this should be possible by creating a class inheriting from some cgal vertex type and passing this in as a template parameter.
As a prerequisite, I wanted to do something much simpler.
For the standard case you use the typedefs
typedef CGAL::Epick_d< CGAL::Dynamic_dimension_tag > K;
typedef CGAL::Delaunay_triangulation<K> Triangulation;
Actually there is one more template parameter, which ultimately would allow you to pass in your own vertex class. I wanted to find out what the default parameter for this second parameter is, by explicitly passing it.
After wading through unintelligible "modern c++" code and the cgal manual, my first guess was something like
typedef CGAL::Epick_d< CGAL::Dynamic_dimension_tag > K;
typedef CGAL::Triangulation_data_structure<K,CGAL::Triangulation_ds_vertex<>,CGAL::Triangulation_ds_full_cell<> > TDS;
typedef CGAL::Delaunay_triangulation<K,TDS> Triangulation;
However this gives me lots of errors, the first one stating that my vertex class is missing a "Point" typedef. I also tried variations (trying to pass template parameters to the ds_vertex and ds_full_cell as well) with the same result.
The manual (https://doc.cgal.org/latest/Triangulation/index.html#title7) tells me that I would have to pass the TDS type itself to the vertex and cell classes, creating "circular dependencies" being resolved by a "rebind mechanism". I do not understand how this works, however i would think that this should be solved in this simple case where i just use the default vertex/cell classes by supplied by CGAL itself.
So finally, my question is: How would I explicitly choose the template parameters in order to get the same result as with the defaults (ie "What actually are the default parameters"?)?.
Triangulation_data_structure<K::Dimension, Triangulation_vertex<K>, Triangulation_full_cell<K>>
- user2407038very_compilicated_template_t qwer = "XX";
You should see error similar to: unable to assign to < template expansion > . - Richard Critten