2015-11-23 2 views
0

J'utilise Constrained_triangulation_2 et Constrained_Delaunay_triangulation_2 pour trianguler mon ensemble de points avec des contraintes. Dans certains cas, j'ai des indieces négatives (f_it-> vertex (0) -> info()) dans certaines faces voisines pour les deux méthodes. Après avoir vérifié les résultats de la triangulation, il était clair que certains points avaient changé leurs coordonnées 2d (f_it-> vertex (0) -> point()). est le problème dans mes données d'entrée, ou il y a un bug bien connu dans CGAL? Sans ces contraintes (poly sans auto-intersections) cela fonctionne bien, mais dans mon esprit ils sont absolument corrects.La triangulation CGAL avec contraintes change de coordonnées coords

Répondre

0

Aucune coordonnée de point ne peut être modifiée. La seule chose que je peux voir qui peut arriver est que vos contraintes se croisent et que le point d'intersection est ajouté dans la triangulation (et est confondu avec un point d'entrée). Bien sûr, ceci n'est plausible que si l'étiquette d'intersection n'est pas No_intersection_tag.

+0

Merci beaucoup! J'ai ajouté la bibliothèque mpir pour certaines raisons à mon projet. Maintenant, la triangulation cgal se bloque lorsque les auto-intersections se présentent. – Mike

+0

mpir n'est pas supporté par CGAL. Si possible, essayez d'utiliser gmp à la place. – sloriot

+0

J'utilise aussi la bibliothèque de cork dans ce projet et elle est liée à la bibliothèque mpir sous windows platform. Sous * nix il utilise gmp par défaut, mais je ne sais pas s'il est possible de construire gmp sous Visual Studio (en passant, il est pré-installé avec l'installeur CGAL, mais malheureusement sans implémentation de quelques fonctions). mpir est l'implémentation de gmp fonctionnelle sous Windows, comme je le sais. – Mike