Subject: CGAL users discussion list
List archive
[cgal-discuss] Bug with Arr_landmarks_point_location and Constrained_Delaunay_triangulation_2
Chronological Thread
- From: Winnie Hellmann <>
- To:
- Subject: [cgal-discuss] Bug with Arr_landmarks_point_location and Constrained_Delaunay_triangulation_2
- Date: Thu, 11 Aug 2011 14:18:03 +0200
Hi everybody,
I experienced a strange bug when including Arr_landmarks_point_location and Constrained_Delaunay_triangulation_2 in the "wrong" order. The following example doesn't compile:
#include <CGAL/Cartesian.h>
#include <CGAL/Gmpq.h>
#include <CGAL/Arr_landmarks_point_location.h>
#include <CGAL/Triangulation_euclidean_traits_2.h>
#include <CGAL/Constrained_Delaunay_triangulation_2.h>
typedef CGAL::Gmpq Fraction;
typedef CGAL::Cartesian<Fraction> Kernel;
typedef CGAL::Triangulation_euclidean_traits_2<Kernel> Triangulation_traits;
typedef CGAL::Constrained_Delaunay_triangulation_2<Triangulation_traits> Triangulation;
int main()
{
Triangulation t;
return 0;
}
I am using the GCC 4.5.2 with CGAL 3.6.1 (which is the latest release in the Ubuntu 11.04 repository). The error I get is attached as error.log.
The same example compiles by simply moving the include of Arr_landmarks_point_location.h below Constrained_Delaunay_triangulation_2.h.
Now that I found the bug (after several days of digging through the code) I can avoid it, but maybe this can be fixed in CGAL somehow (if this has not already happened in the current release).
Best regards,
Winnie
In file included from /usr/include/CGAL/Constrained_Delaunay_triangulation_2.h:24:0, from /tmp/test/test.cpp:5: /usr/include/CGAL/Constrained_triangulation_2.h: In member function âCGAL::Constrained_triangulation_2<Gt, Tds, Itag>::Vertex_handle CGAL::Constrained_triangulation_2<Gt, Tds, Itag>::insert(CGAL::Constrained_triangulation_2<Gt, Tds, Itag>::Point&, CGAL::Constrained_triangulation_2<Gt, Tds, Itag>::Face_handle) [with Gt = CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, Tds = CGAL::Triangulation_data_structure_2<CGAL::Triangulation_vertex_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_vertex_base_2<void> >, CGAL::Constrained_triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_face_base_2<void> > > >, Itag = CGAL::No_intersection_tag, CGAL::Constrained_triangulation_2<Gt, Tds, Itag>::Vertex_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Triangulation_vertex_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_vertex_base_2<CGAL::Triangulation_data_structure_2<CGAL::Triangulation_vertex_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_vertex_base_2<void> >, CGAL::Constrained_triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_face_base_2<void> > > > > >, CGAL::Default>, false>, CGAL::Constrained_triangulation_2<Gt, Tds, Itag>::Point = CGAL::Point_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Constrained_triangulation_2<Gt, Tds, Itag>::Face_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Constrained_triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_face_base_2<CGAL::Triangulation_data_structure_2<CGAL::Triangulation_vertex_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_vertex_base_2<void> >, CGAL::Constrained_triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_face_base_2<void> > > > > > >, CGAL::Default>, false>]â: /usr/include/CGAL/Constrained_triangulation_2.h:343:24: instantiated from âCGAL::Constrained_triangulation_2<Gt, Tds, Itag>::Vertex_handle CGAL::Constrained_triangulation_2<Gt, Tds, Itag>::virtual_insert(CGAL::Constrained_triangulation_2<Gt, Tds, Itag>::Point&, CGAL::Constrained_triangulation_2<Gt, Tds, Itag>::Face_handle) [with Gt = CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, Tds = CGAL::Triangulation_data_structure_2<CGAL::Triangulation_vertex_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_vertex_base_2<void> >, CGAL::Constrained_triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_face_base_2<void> > > >, Itag = CGAL::No_intersection_tag, CGAL::Constrained_triangulation_2<Gt, Tds, Itag>::Vertex_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Triangulation_vertex_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_vertex_base_2<CGAL::Triangulation_data_structure_2<CGAL::Triangulation_vertex_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_vertex_base_2<void> >, CGAL::Constrained_triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_face_base_2<void> > > > > >, CGAL::Default>, false>, CGAL::Constrained_triangulation_2<Gt, Tds, Itag>::Point = CGAL::Point_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Constrained_triangulation_2<Gt, Tds, Itag>::Face_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Constrained_triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_face_base_2<CGAL::Triangulation_data_structure_2<CGAL::Triangulation_vertex_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_vertex_base_2<void> >, CGAL::Constrained_triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_face_base_2<void> > > > > > >, CGAL::Default>, false>]â /tmp/test/test.cpp:19:1: instantiated from here /usr/include/CGAL/Constrained_triangulation_2.h:371:3: error: no matching function for call to âlocate(const CGAL::Constrained_triangulation_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_data_structure_2<CGAL::Triangulation_vertex_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_vertex_base_2<void> >, CGAL::Constrained_triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_face_base_2<void> > > >, CGAL::No_intersection_tag>::Point&, CGAL::Constrained_triangulation_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_data_structure_2<CGAL::Triangulation_vertex_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_vertex_base_2<void> >, CGAL::Constrained_triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_face_base_2<void> > > >, CGAL::No_intersection_tag>::Locate_type&, int&, CGAL::Constrained_triangulation_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_data_structure_2<CGAL::Triangulation_vertex_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_vertex_base_2<void> >, CGAL::Constrained_triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_face_base_2<CGAL::Triangulation_euclidean_traits_2<CGAL::Cartesian<CGAL::Gmpq> >, CGAL::Triangulation_ds_face_base_2<void> > > >, CGAL::No_intersection_tag>::Face_handle&)â
- [cgal-discuss] Bug with Arr_landmarks_point_location and Constrained_Delaunay_triangulation_2, Winnie Hellmann, 08/11/2011
- [cgal-discuss] Re: Bug with Arr_landmarks_point_location and Constrained_Delaunay_triangulation_2, Winnie Hellmann, 08/11/2011
- Re: [cgal-discuss] Re: Bug with Arr_landmarks_point_location and Constrained_Delaunay_triangulation_2, Michael Hemmer, 08/14/2011
- Re: [cgal-discuss] Re: Bug with Arr_landmarks_point_location and Constrained_Delaunay_triangulation_2, Winnie Hellmann, 08/14/2011
- Re: [cgal-discuss] Re: Bug with Arr_landmarks_point_location and Constrained_Delaunay_triangulation_2, Michael Hemmer, 08/14/2011
- [cgal-discuss] Re: Bug with Arr_landmarks_point_location and Constrained_Delaunay_triangulation_2, Winnie Hellmann, 08/11/2011
Archive powered by MHonArc 2.6.16.