Bonjour a tous,
Je souhaite utiliser la librairie CGAL pour quelques algorithmes geometriques. Or, CGAL utilise ses propres objets geometriques de base (points, segments, ...) ce qui est tout ce qu'il y a de plus normal. Ces objets sont tous des templates.
Par ailleurs, la ou je bosse, nous avons notre propre librairie qui a aussi ses objets geometriques qui sont des templates simples. Aussi, je, voudrais ecrire deux namespaces qui permettraient de faire les transformations d'objets dans les deux sens (cgal2matis et matis2cgal).
Je ne sais pas comment m'y prendre, vu la strucutre des templates de deux cotes. Je m'explique. Par exemple, sous CGAL pour declarer un point 2D, on fait comme ca :
On declare donc l'espace (Cartesian) dans lequel on travaille et son type (double).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef CGAL::Cartesian<double> K; typedef K::Point_2 CGAL_Point; [...] Point_2 p;
Dans ma lib, ca se passe comme ca :
Dans CGAL, l'espace peut etre Cartesian, mais aussi Simple_cartesian, Homogeneous ... Ou, encore plus complique Exact_predicates_exact_constructions_kernel ... Au final, je ne sais pas du tout comment faire ce que j'ai decrit au debut. Cela vient du fait que dans CGAL on a des templates dans des templates.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Point2D <double> p;
Un coup de main serait le bienvenu ...
D'avance merci
Partager