2017-04-11 3 views
0

J'ai un maillage 3D comprenant des points, des cellules et des faces. Au lieu d'étendre la capacité de mon code, j'aimerais utiliser une bibliothèque bien établie, CGAL. J'aurai toujours mon propre code et CGAL ne gérera que des portions géométriques.Utilisation d'objets géométriques indépendants du package

Le paquet le plus proche de mon cas semble être Linear Cell Complex. Dans le code suivant (exemple complet est here), ce que je n'aime pas, c'est la nécessité de définir LCC_3 afin de créer deux tétraèdres. Dans mon cas, j'aimerais associer un tétraèdre à chacune de mes mailles. Donc, chaque fois que je ne veux pas créer un LCC_3. Existe-t-il un package plus simple que LCC pour gérer cette situation? Puis-je rendre le tétraèdre indépendant du paquet?

LCC_3 lcc; 
// Create two tetrahedra. 
Dart_handle d1 = lcc.make_tetrahedron(Point(-1, 0, 0), Point(0, 2, 0), 
             Point(1, 0, 0), Point(1, 1, 2)); 
Dart_handle d2 = lcc.make_tetrahedron(Point(0, 2, -1), Point(-1, 0, 1), 
             Point(1, 0, -1), Point(1, 1, -3)); 
+0

Créer un LCC_3 est nécessaire car c'est l'objet qui gère toutes les créations et opérations. En tout cas je ne pense pas que ce soit vraiment douloureux car il n'est créé qu'une seule fois. Il y a d'autres paquets dans CGAL qui permettent de traiter uniquement le maillage surfacique; mais chacun d'eux a besoin de créer d'abord un objet, comme pour un complexe cellulaire linéaire. – gdamiand

Répondre