CGAL-如何在Delaunay三角剖分后检索面和egdes顶点属性? 我是CGAL C++库的初学者。 我尝试使用点列表获得一个简单的Delaunay三角剖分(参见下面的代码)。 它看起来很有效,但我不知道如何获取面和egdes属性(顶点位置)。 我在D
CGAL-如何在Delaunay三角剖分后检索面和egdes顶点属性? <>我是CGAL C++库的初学者。 我尝试使用点列表获得一个简单的Delaunay三角剖分(参见下面的代码)。 它看起来很有效,但我不知道如何获取面和egdes属性(顶点位置)。 我在Delaunay::Face和Delaunay::Edge中没有顶点坐标属性, 我怎样才能得到它CGAL-如何在Delaunay三角剖分后检索面和egdes顶点属性? 我是CGAL C++库的初学者。 我尝试使用点列表获得一个简单的Delaunay三角剖分(参见下面的代码)。 它看起来很有效,但我不知道如何获取面和egdes属性(顶点位置)。 我在D,c++,qt,cgal,C++,Qt,Cgal,CGAL-如何在Delaunay三角剖分后检索面和egdes顶点属性? 我是CGAL C++库的初学者。 我尝试使用点列表获得一个简单的Delaunay三角剖分(参见下面的代码)。 它看起来很有效,但我不知道如何获取面和egdes属性(顶点位置)。 我在Delaunay::Face和Delaunay::Edge中没有顶点坐标属性, 我怎样才能得到它 typedef CGAL::Exact_predicates_inexact_constructions_kernel K; typedef CGA
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Projection_traits_xy_3<K> Gt;
typedef CGAL::Delaunay_triangulation_2<Gt> Delaunay;
typedef K::Point_2 Point_2;
typedef K::Point_3 Point_3;
...
void MainWindow::on_pushButton_compute_Delaunay_triangulation_clicked()
{
// Point list to trialgulate (2D)
std::vector<Point_3> vPts;
vPts.push_back(Point_3(0,0,0));
vPts.push_back(Point_3(10,0,0));
vPts.push_back(Point_3(10,10,0));
vPts.push_back(Point_3(6,5,0));
vPts.push_back(Point_3(4,1,0));
// Triangulation
Delaunay dt(vPts.begin(), vPts.end());
cout << "Number of vertices : " << dt.number_of_vertices() << std::endl;
cout << "Number of faces : " << dt.number_of_faces() << std::endl;
Delaunay::Face_iterator itF;
Delaunay::Face face;
for ( itF = dt.faces_begin(); itF != dt.faces_end(); ++itF) {
face = *itF;
cout << face << endl;
}
Delaunay::Edge_iterator itE;
Delaunay::Edge edge;
for ( itE = dt.edges_begin(); itE != dt.edges_end(); ++itE) {
edge = *itE;
cout << "edge." << endl;
}
}
typedef CGAL::精确谓词\不精确构造\内核K;
typedef CGAL::Projection_traits_xy_3 Gt;
typedef CGAL::Delaunay_三角剖分_2Delaunay;
typedef K::Point_2 Point_2;
typedef K::Point_3 Point_3;
...
void主窗口::在按钮上单击计算三角剖分
{
//要试算的点列表(二维)
std::载体vPts;
vPts.推回(点3(0,0,0));
vPts.推回(点3(10,0,0));
vPts.推回(点3(10,10,0));
vPts.推回(点3(6,5,0));
vPts.推回(点3(4,1,0));
//三角测量
Delaunay dt(vPts.begin(),vPts.end());
从顶点句柄vh,可以使用vh->point()
获取点。从单元格句柄ch和索引i,可以使用ch->Vertex(i)
获取到第i个顶点的顶点句柄。面和边应表示为单元格句柄的元组和相关顶点的索引(或其补码)。请参阅CGAL中有关3D三角测量数据结构(又名TDS_3)的章节。在我的程序中,您在哪里看到了“顶点_句柄”和“单元_句柄”?您能给我一个例子吗?从顶点_句柄vh,您可以使用vh->point()
获取点。从单元格句柄ch和索引i,可以使用ch->Vertex(i)
获取第i个顶点的顶点句柄。面和边应表示为单元格句柄的元组和相关顶点的索引(或它们的补码)。请参阅关于3D三角测量数据结构(又名TDS\u 3)的CGAL章节.在我的程序中,你在哪里看到“顶点句柄”和“单元句柄”的?你能给我举个例子吗?