2016-01-11 24 views
0

我正在嘗試使用2d網格庫作爲代碼。我複製的語法和包括文檔delaunay mesher編譯錯誤

mesh_global.cpp

從下面的示例文件,但是當我添加以下行

CGAL::refine_Delaunay_mesh_2(cdt, Criteria(0.015625, sq3*a)); 

我得到指着行編譯錯誤

#include <CGAL/Delaunay_mesher_2.h> 

事情是代碼編譯良好,沒有調用網格劃分函數。

完整的錯誤是很大的,張貼在這裏,但我發現在

之間
/home/sameer/cgal/gap cvt/gap_cvt.cpp:1505:62: required from here 
/usr/include/CGAL/Delaunay_mesher_2.h:166:11: error: ‘class CGAL::Constrained_triangulation_face_base_2<CGAL::Epick, CGAL::Triangulation_face_base_2<CGAL::Epick, CGAL::Triangulation_ds_face_base_2<CGAL::Triangulation_data_structure_2<CGAL::Triangulation_vertex_base_2<CGAL::Epick, CGAL::Triangulation_ds_vertex_base_2<void> >, CGAL::Constrained_triangulation_face_base_2<CGAL::Epick, CGAL::Triangulation_face_base_2<CGAL::Epick, CGAL::Triangulation_ds_face_base_2<void> > > > > > >’ has no member named ‘set_in_domain’ 
      it->set_in_domain(!mark); 

我看不出有什麼,我從代碼已經採取幾乎是從參數丟失除了這條線這個例子。

+0

你確定你沒有修改的三角型,特別是面對類型? – sloriot

+0

我只使用cdt.insert(point_2)和cdt.insert_constraints(Point_2,Point_2)構造了約束Delaunay三角剖分。 – user1689822

+0

你可以在要點或其他地方張貼'gap_cvt.cpp'嗎? – sloriot

回答

0

2D網格類Delaunay_mesher_2期望CDT模板參數具有DelaunayMeshFaceBase_2的面部類型模型。您不能使用默認的Triangulation數據結構。

在你指出的例子中,CDT類型聲明如下:

typedef CGAL::Exact_predicates_inexact_constructions_kernel K; 
typedef CGAL::Triangulation_vertex_base_2<K> Vb; 
typedef CGAL::Delaunay_mesh_face_base_2<K> Fb; 
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds; 
typedef CGAL::Constrained_Delaunay_triangulation_2<K, Tds> CDT; 
+0

謝謝,幫助。我現在將拿出鏈接。 – user1689822